Class C++;导入函数时不从DLL导入类方法工作正常

Class C++;导入函数时不从DLL导入类方法工作正常,class,visual-c++,dll,linker,Class,Visual C++,Dll,Linker,我正在尝试将DLL导入我的程序。我正在使用属性。问题是我得到链接器错误“LNK2019:未解析的外部符号…”。这个问题已经在这里出现过好几次了。但我的问题不同 我相信我已经正确地设置好了所有的东西(提供了头文件,lib文件中链接了导出…)。当我尝试从该DLL调用一个经典函数(带或不带外部“C”块)时,一切正常。问题就出在课堂上 所有的方法都在DLL中导出-我使用依赖项遍历器验证了这一点 损坏的导出名称与链接器尝试查找的名称之间是否存在不匹配?或者其他一些基于命名的问题?在互联网上似乎没有记录类似

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

我相信我已经正确地设置好了所有的东西(提供了头文件,lib文件中链接了导出…)。当我尝试从该DLL调用一个经典函数(带或不带外部“C”块)时,一切正常。问题就出在课堂上

所有的方法都在DLL中导出-我使用依赖项遍历器验证了这一点

损坏的导出名称与链接器尝试查找的名称之间是否存在不匹配?或者其他一些基于命名的问题?在互联网上似乎没有记录类似的问题

编辑

依赖项遍历器可以看到该方法

?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)
唯一的区别是名称空间。这可能是问题所在吗


谢谢

您是否用
\u declspec(dllexport)
标记类(或使用宏执行dllexport/dllimport)?类将被导出。我用Dependency Walker手动检查了这一点。链接器声称找不到的名称与Dependency Walker声称的导出名称之间是否存在差异?您能否显示这两个名称的示例以及相应函数的声明?您似乎已将库头的
#include
指令放置在命名空间中。不要那样做
::CTxtFileHelper
mylib::io::CTxtFileHelper
是两个不同的、完全不相关的类。您已经实现了一个,但正在尝试使用另一个。好的,谢谢您的帮助,名称空间是原因。