我有一个使用另一个动态库(依赖项)的动态库(插件)。我以两种方式使用依赖: 一个。通过从依赖项中定义的类实例化对象 湾通过继承依赖项中定义的类
执行。时,没有链接错误。但是在做b。时,我有一个链接错误,说我遗漏了一些符号(LNK2001)。我在.lib / .exp中查找了确切的受损名称,并找到了MSVC(2005)所说的符号缺失的符号。
说我使用Qt并且缺少的符号是在moc文件中自动生成的符号(父类的staticMetaObject)可能很重要。此外,可能有必要说我在调试和发布中都会遇到这些错误,这意味着它们没有“优化掉”(我甚至尝试过/ OPT:NOREF / OPT:NOICF,尽管它是调试构建中的默认值)这些符号在lib文件中......)
即使符号在那里,我怎么能有这个链接错误?最重要的是,我该如何解决这些错误?
感谢您的帮助!
答案 0 :(得分:1)
您可能希望确保使用__declspec(dllexport)
(构建时)和__declspec(dllimport)
(链接时)声明该类?
请参阅this link。