1. 缺少DLL动态库文件:编译器无法找到所需的DLL文件,导致无法解析对应的外部符号。解决方法是在项目中添加正确的DLL文件,并确保其存放位置正确。 2. 函数声明和定义不一致:调用DLL中的函数时,我们需要在项目中正确地引入函数的声明。如果DLL中的函数声明和定义不一致(如参数类型、返回值类型不匹配),编译器会无法解...
error LNK2001: 无法解析的外部符号 _Delete 问题描述: 写的lib中在exe调用的时候出现上面的错误,函数原型为BOOL Delete(VOID); 在lib库的头文件中做了如下声明: extern "C" BOOL Delete(VOID);//按照C语言方式编译
产生这些错误是因为需要用到的一些函数在osip库在def文件中没导出。需要修改\libosip2-3.6.0\platform\vsnet目录下面的osip2.def、osipparser2.def两个文件,在文件的末尾导出这些函数,具体如下:osip2.def:osip_transaction_set_naptr_record @138 osipparser2.def:osip_realloc @416 osip_strcase...
gcc test.c B A C -o test 则,由于你的A使用了B的f,gcc在链接时,发现test.c没有用到B库的f,所以不会将f链接到test,而C已经没有机会链接到B的f(因为gcc按照顺序链接输入文件)。结果导致A所需要的f找不到,就包无法解析外部符号错误了。