我正在尝试将DLL导入我的程序 . 我正在使用__declspec( dllimport )属性 . 问题是我收到链接器错误"LNK2019: unresolved external symbol ..." . 这个问题已经在这里好几次了 . 但我的问题不同了 .

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

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

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

EDIT

依赖性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)

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

谢谢