出现[Linker Error] Unresolved external '函数名' referenced from 文件路径/XXXX.OBJ 错误要注意一下,主要原因是:在头文件声明了函数,但是在.cpp里面没有函数体的实现,就会出现这种情况;另外一种情况是在静态DLL调用时出现这个错误的话,就要检查:1. DLL是否有输出函数,这个利用MS Visual Studio的Dependency程序去查看一下 2. 静态调用DLL时,调用方对输出函数的声明格式是否正确,应包含extern "C" __declspec(dllimport)这些关键字。
上面提到的这种Linker错误其实并不可怕,但难就难在BCB没有指出哪里出错(只有编译阶段编译器才会指出语法错误),所以初学者并不要因为这个问题而灰心,根据上述情况去检查一下Unit的.h和.cpp,细心一些就能解决到问题的了。祝大家好运!