C ++不导入DLL中的类方法,导入函数工作正常

时间:2013-11-19 11:57:32

标签: class visual-c++ dll linker

我正在尝试将DLL导入到我的程序中。我使用的是__declspec( dllimport )属性。问题是我收到链接器错误“LNK2019:未解析的外部符号...”。这个问题已经在这里好几次了。但我的问题不同。

我相信我已经正确设置了所有内容(标题提供,lib文件与导出链接在...)。当我尝试从该DLL调用经典函数(有或没有extern“C”块)时,一切正常。问题只是课程。

所有方法都在DLL中导出 - 我使用Dependency Walker验证了这一点。

被破坏的导出名称和链接器试图找到的名称之间是否存在一些不匹配?还是其他一些基于命名的问题?似乎在互联网上没有记录类似的问题。

修改

依赖性walker会看到方法

?LoadFile@CTxtFileHelper@@QAE_NPAVCWrapperFile@@I@Z

是解开的

bool CTxtFileHelper::LoadFile(class CWrapperFile *,unsigned int)
链接器尝试加载

?LoadFile@CTxtFileHelper@@QAE_NPAVCWrapperFile@io@mylib@@I@Z

根据链接器错误消息

表示
__declspec(dllimport) public: bool __thiscall CTxtFileHelper::LoadFile(class mylib::io::CWrapperFile *,unsigned int)

唯一的区别是命名空间。这可能是问题吗?

由于

0 个答案:

没有答案