1

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>已经没有用了。

4

1 回答 1

0

从这个链接,它似乎是 Qt 中的一个错误:

https://bugreports.qt-project.org/browse/QTBUG-24177

于 2013-07-26T15:12:54.637 回答