我用Qt和VC的组合,但由于某种需要,需要在程序中调用用MinGW生成的dll(导出类),但是在编译的时候(利用Dumpbin和Lib生成了关于这个dll的lib文件)出现的错误!
链接错误:
Intepreter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall CodeGen::~CodeGen(void)" (__imp_??1CodeGen@@QAE@XZ)
Intepreter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall CodeGen::GenerateCode(void)" (__imp_?GenerateCode@CodeGen@@QAEHXZ)
Intepreter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall CodeGen::CodeGen(void)" (__imp_??0CodeGen@@QAE@XZ)
dll文件的导出的def文件:
Dump of file CodeGen.dll
File Type: DLL
Section contains the following exports for CodeGen.dll
0 characteristics
460F05D8 time date stamp Sun Apr 01 09:07:36 2007
0.00 version
1 ordinal base
5 number of functions
5 number of names
ordinal hint RVA name
1 0 000011E8 _ZN7CodeGen12GenerateCodeEv
2 1 000011D6 _ZN7CodeGenC1Ev
3 2 000011D0 _ZN7CodeGenC2Ev
4 3 000011E2 _ZN7CodeGenD1Ev
5 4 000011DC _ZN7CodeGenD2Ev
Summary
1000 .bss
1000 .data
1000 .edata
1000 .idata
1000 .rdata
1000 .reloc
1000 .text
(声明:利用MinGW及一个测试程序已测试该dll结果正确!)
[ 此贴被XChinux在2008-07-20 23:17重新编辑 ]