c++ exe 访问 DLL 中 c++ class error LNK2019 LNK2001

c++ exe 访问 DLL 中 c++ class error LNK2019 LNK2001

一直报错,说找不到引用.

2>Quote.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall 某类::某类(char *)" (??0某类@@QAE@PAD@Z),该符号在函数 "public: __thiscall Quote::Quote(void)" (??0Quote@@QAE@XZ) 中被引用
2>Quote.obj : error LNK2001: 无法解析的外部符号 "public: virtual bool __thiscall 某类::Init(void)" (?Init@某类@@UAE_NXZ)
2>Quote.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall 某类::Kill(void)" (?Kill@某类@@UAEXXZ)
2>Quote.obj : error LNK2001: 无法解析的外部符号 "private: virtual int __thiscall 某类::Run(void)" (?Run@某类@@EAEHXZ)
2>Quote.obj : error LNK2001: 无法解析的外部符号 "private: virtual bool __thiscall 某类::Terminate(void)" (?Terminate@某类@@EAE_NXZ)
2>Quote.obj : error LNK2019: 无法解析的外部符号 "public: virtual __thiscall 某类::~某类(void)" (??1CW

1.使用编译---------> verbose  显示能找到库.

c++ exe 访问 DLL 中 c++ class error LNK2019 LNK2001_第1张图片

2.可以看到那个方法连接到那个库文件里面的.

ZH1IBN68EZ@~YHRA@]$EQ61

3.通过depends  看这个dll暴露出来的方法.

 

 

 

#ifdef EXPORT_API
#define MY_API __declspec(dllexport)
#else
#define MY_API __declspec(dllimport)
#endif

class MY_API MyClass {
   ...
};

 

#include <e://testClass.h>

#pragma comment(lib, "//Debug//ServerDLL.lib")

 

 

参考

http://www.codeproject.com/Articles/28969/HowTo-Export-C-classes-from-a-DLL

 

  • DLL入门浅析(5)——使用DLL在进程间共享数据
  • DLL入门浅析(4)——从DLL中导出类
  • DLL入门浅析(3)——从DLL中导出变量
  • DLL入门浅析(2)——如何使用DLL
  • DLL入门浅析(1)——如何建立DLL

http://www.cppblog.com/suiaiguo/archive/2009/07/21/90734.html

你可能感兴趣的:(c++ exe 访问 DLL 中 c++ class error LNK2019 LNK2001)