Visual studio 2008 获取LINK2019(未解析导出),即使库存在并且具有适当的功能
我正在尝试使用VisualStudio2008使用第三方库编译我的项目。现在的问题是,我将lib文件添加到链接器输入,更新了其他库位置-确保lib文件确实已读取(删除了其他位置,编译失败,尖叫着找不到lib文件)。我用dumpbin检查了lib中存在的导出,并且功能是存在的 然而,当从该库调用函数时,我仍然会收到未解决的bla bla bla bla错误链接。 有人遇到过类似的情况/有什么想法吗? 也许值得一提的是,我尝试使用的库似乎是使用VS2003编译的 更新: 库标题中显示的定义:Visual studio 2008 获取LINK2019(未解析导出),即使库存在并且具有适当的功能,visual-studio-2008,dll,linker,export,.lib,Visual Studio 2008,Dll,Linker,Export,.lib,我正在尝试使用VisualStudio2008使用第三方库编译我的项目。现在的问题是,我将lib文件添加到链接器输入,更新了其他库位置-确保lib文件确实已读取(删除了其他位置,编译失败,尖叫着找不到lib文件)。我用dumpbin检查了lib中存在的导出,并且功能是存在的 然而,当从该库调用函数时,我仍然会收到未解决的bla bla bla bla错误链接。 有人遇到过类似的情况/有什么想法吗? 也许值得一提的是,我尝试使用的库似乎是使用VS2003编译的 更新: 库标题中显示的定义: #if
#ifndef X
#define X
#ifdef _cplusplus
extern "C" {
#endif
_XFUNC int X_Open(int C);
#ifdef _cplusplus
}
#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\u Open*,并且在错误消息中显示为*\u X\u Open*
提前感谢,,
这是一个突破强> 问题在于调用约定。我的项目被设置为u cdecl(/Gd),而第三方库是使用u stdcall(/Gz)编译的(这解释了为什么链接器将u连接到X_Open)
这就引出了另一个问题,但这已经是另一个问题。请将至少一个函数的完整错误消息以及头文件中相应的声明添加到您的问题中。这可能有助于找到原因。
error LNK2019: unresolved external symbol _X_Open referenced in function "public virtual bool __thiscall MyClass::initialise(class QDomElement*)"(?initialise@MyClass@@UAE_NPAV QDomElement @@@Z)