我正在尝试使用 Visual Studio 2008 使用第三方库编译我的项目。现在问题是我将 lib 文件添加到 LINKER 输入,更新了其他库位置 - 确保确实读取了 lib 文件(已删除额外的位置和编译失败,尖叫着找不到lib文件)。我使用 dumpbin 检查了 lib 中存在的导出,并且该功能存在。
然而,从该库调用函数时,我仍然收到错误 LINK2019 unresolved bla bla bla。有人遇到过类似的事情/有任何想法吗?也许值得一提的是,我尝试使用的库似乎是使用 VS2003 编译的。
更新: 库标题中出现的定义:
#ifndef X
#define X
#ifdef _cplusplus
extern "C" {
#endif
_XFUNC int X_Open(int C);
#ifdef _cplusplus
}
#endif
#endif
以及导出的定义:(在库头中包含的另一个头中)
#ifdef _BUILDXDLL
#define _XFUNC __declspec (dllexport)
#else
#ifdef WIN32
#define _XFUNC __declspec (dllimport)
#else
#define _XFUNC
#endif
#endif
完整的错误信息:
error LNK2019: unresolved external symbol _X_Open referenced in function "public virtual bool __thiscall MyClass::initialise(class QDomElement*)"(?initialise@MyClass@@UAE_NPAV QDomElement @@@Z)
我不确定它是否相关,但声明是*X_Open*并且在错误消息中它显示为*_X_Open* 提前致谢,Anorflame