仔细研究这段话“multiple definition of  ‘g_dl_stcuct’ first defined here”,“multiple definition”,说明‘g_dl_stcuct’有多个定义。找到‘g_dl_stcuct’的定义,发现在头文件里面,豁然开朗,是不是有很多c文件引用这个头文件,导致‘g_dl_stcuct’有多个定义。

所以试着把‘g_dl_stcuct’的定义放在.c文件里面,在.h里面extern一下,编译过了。