具有MingW和“未定义引用”错误的应用程序插件

时间:2010-08-06 03:56:30

标签: c++ qt dll mingw

我有一个Qt应用程序,它使用Q_DECL_EXPORT将我的主要可执行文件的某些数据类型和函数标记为已导出。同样,当我编译我的插件时,我用Q_DECL_IMPORT标记那些相同的符号来导入它们。

这在linux上运行得很好。我需要做的就是使用-rdynamic进行编译,并且进展顺利。 Visual Studio 2008对我也很好,它很乐意为我的主要执行文件创建一个.lib文件,我只需将我的插件链接到.lib,它现在知道这些符号将在插件加载时的主要应用程序。

另一方面,MingW证明并不是那么有趣。正如预期的主要应用程序编译顺利。但是由于“未定义的引用”错误,插件在链接时间内全部失败,当然这些错误始于_imp__有没有办法让MingW忽略这些错误,因为我知道在正确加载时它们会得到解决?

我尝试过诸如-Wl,--unresolved-symbols=ignore-all-Wl,--allow-shlib-undefined之类的标记无效。

我想将MingW添加到支持的编译器列表中,但我似乎无法将这一部分用于工作。当然,我不是第一个想要拥有一个插件的人,它从正在加载的应用程序中导入符号!

0 个答案:

没有答案