MSYS2静态QT未定义的参考问题

msys2 static QT undefined reference issues

本文关键字:参考 问题 未定义 静态 QT MSYS2      更新时间:2023-10-16

最近我重新访问了一些QT代码,然后写了一些简单的内容。使用动态QT,但是当使用QT5静态QT制作时,我会得到

debug/editor.o:在函数 qMain(int, char**)': C:msys64hometimProjectseditor/editor.cpp:6: undefined reference to __imp__zn12qapplicationc1erippci' C: msys64 home tim project editor/editor/editor.cpp:7:未定义的参考 到__imp__ZN9QTextEditC1EP7QWidget' C:msys64hometimProjectseditor/editor.cpp:8: undefined reference to __IMP __ZN7QWIDGET4SHOWEV' C: msys64 home tim project editor/editor/editor.cpp:9:未定义的参考 到__imp__ZN12QApplication4execEv' C:msys64hometimProjectseditor/editor.cpp:7: undefined reference to __IMP__ZN9QTEXTEDITD1EV' C: msys64 home tim project editor/editor.cpp:6:未定义的参考 到__imp__ZN12QApplicationD1Ev' C:msys64hometimProjectseditor/editor.cpp:7: undefined reference to __IMP__ZN9QTEXTEDITD1EV' C: msys64 home tim project editor/editor.cpp:6:未定义的参考 到`__imp__zn12qapplicationd1ev'

#include <QApplication>
#include <QTextEdit>
int main(int argv, char **args)
{
        QApplication app(argv, args);
        QTextEdit textEdit;
        textEdit.show();
        return app.exec();
}

链接器似乎正在拉动所有正确的东西

g -static -wl,-subsystem,Windows -mthreads -o debug/editor.exe debug/editor.o debug/editor_plugin_import.o -lmingw32 -lc:/msys64/mingw64/qt5-static/lib c:/msys64/mingw64/qt5-static/lib/lib/libqtmaind.a -lc:/msys64/mingw64/qt5-static/share/qt5/plugins/styles c:/msys64/mingw64/qt5-static/share/share/qt5/qt5/plugins/styles/styles/libqqwindowsvistasty.a -lc:/msys64/mingw64/qt5-static/share/qt5/plugins/platforms c:/msys64/mingw64/qt5-static/share/share/qt5/qt5/plugins/platforms/platforms/libqwindowsd.a -lwinspool -lshlwapi -lrpcrt4 c:/msys64/mingw64/qt5-static/lib/libqt5eventdispatchersupportd.a c:/msys64/mingw64/qt5-static/lib/libqt5fontdatabasesupportd.a c:/msys64/mingw64/qt5-static/lib/libqtfreetyped.a c:/msys64/mingw64/qt5-static/lib/libqt5themesupportd.a c:/msys64/mingw64/qt5-static/lib/libqt5Acccessibilitysupportd.a c:/msys64/mingw64/qt5-static/lib/libqt5vulkansupportd.a -lc:/msys64/mingw64/qt5-static/share/qt5/qutins/plugins/imageformats c:/msys64/mingw64/qt5-static/share/share/qt5/qt5/plugins/imageformats/imageformats/libqgifd.a c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqicnsd.a c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqicod.a c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqjp2d.a -ljasper c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqjpegd.a c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqtgad.a c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqtiffd.a c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqwbmpd.a c:/msys64/mingw64/qt5-static/share/qt5/plugins/imageformats/libqwebpd.a c:/msys64/mingw64/qt5-static/lib/libqt5widgetsd.a -luxtheme -ldwmapi c:/msys64/mingw64/qt5-static/lib/libqt5guid.a -lcomdlg32 -loleaut32 -limm32 -lglu32 -lopengl32 -lgdi32 c:/msys64/mingw64/qt5-static/lib/libqtlibpngd.a c:/msys64/mingw64/qt5-static/lib/libqtharfbuzzd.a c:/msys64/mingw64/qt5-static/lib/libqt5cored.a -lmpr -lnetapi32 -luserenv -lversion -lws2_32 -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lwinmm c:/msysys64/mingw64/qtt5-static/qt5-static/lib/lib/lib/lib/lib/libqtppcre2.a

所有内容都应安装

$ pacman -ss qt5静态mingw32/mingw-w64-i686-qt5静态5.10.0-2 (MINGW-W64-I686-QT MINGW-W64-I686-QT5([已安装] 跨平台应用程序和UI框架(mingw-w64 static(mingw64/mingw-w64-x86_64-qt5静态5.10.0-2(mingw-w64-x86_64-qt( mingw-w64-x86_64-qt5([已安装] 跨平台应用程序和UI框架(mingw-w64 static(

我用qmake -project制作了Pro,并添加了QT += widgets。'qmake'(动态(有效,但' mingw64 qt5 static bin qmake'导致未定义的参考结果。任何提示都非常感谢。

我必须重新安装mingw64/mingw-w64-x86_64-qt5静态,然后才起作用。