链接错误:缺少符号但导出符号(在exp和lib中)

时间:2009-10-14 17:18:27

标签: c++ qt dll visual-c++

我有一个使用另一个动态库(依赖项)的动态库(插件)。我以两种方式使用依赖: 一个。通过从依赖项中定义的类实例化对象 湾通过继承依赖项中定义的类

执行。时,没有链接错误。但是在做b。时,我有一个链接错误,说我遗漏了一些符号(LNK2001)。我在.lib / .exp中查找了确切的受损名称,并找到了MSVC(2005)所说的符号缺失的符号。

说我使用Qt并且缺少的符号是在moc文件中自动生成的符号(父类的staticMetaObject)可能很重要。此外,可能有必要说我在调试和发布中都会遇到这些错误,这意味着它们没有“优化掉”(我甚至尝试过/ OPT:NOREF / OPT:NOICF,尽管它是调试构建中的默认值)这些符号在lib文件中......)

即使符号在那里,我怎么能有这个链接错误?最重要的是,我该如何解决这些错误?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可能希望确保使用__declspec(dllexport)(构建时)和__declspec(dllimport)(链接时)声明该类?

请参阅this link