【发布时间】:2013-07-24 16:23:18
【问题描述】:
由于qjpeg4 库的一些问题,我无法链接我的项目。
它的 DLL 位于此处:
PROJECT_ROOT/../Release/obj/imageformats/qjpeg4.dll
我收到此链接器错误:
Linking CXX executable test.exe
CMakeFiles\test.dir/objects.a(entrypoint.cpp.obj):entrypoint.cpp:(.text.startup+0x2692): undefined reference to `qt_plugin_instance_qjpeg()'
collect2: ld returned 1 exit status
在包含 main() 的文件中,我有:Q_IMPORT_PLUGIN(qjpeg)
我尝试添加这些行,但没有任何改进:
QApplication app(argc, argv);
QString sDir = QCoreApplication::applicationDirPath();
app.addLibraryPath(sDir + "/plugins");
之前的错误甚至不应该依赖于没有找到DLL这一事实,因为它仍处于链接阶段......
如果在包含 main() 的文件中我删除了Q_IMPORT_PLUGIN(qjpeg),则链接器成功,但可执行文件完全不执行任何操作。
我包含的唯一 Qt 标头是 <QApplication> 和 <QtPlugin>;添加<QtGui> 已经没用了。
【问题讨论】: