首页 文章

msys2静态QT未定义的引用问题

提问于
浏览
1

最近我重新访问了一些QT代码然后写了一些简单的东西 . 使用动态QT,但是当从qt5-static使用qt make时,我得到了

debug / editor.o:在函数qMain(int,char **)':C:\ msys64 \ home \ tim \ Projects \ editor / editor.cpp:6:undefined reference to__imp__ZN12QApplicationC1ERiPPci'C:\ msys64 \ home \ tim \ Projects \ editor / editor.cpp:7:未定义引用__imp__ZN9QTextEditC1EP7QWidget'C:\ msys64 \ home \ tim \ Projects \ editor / editor.cpp:8:undefined reference to__imp__ZN7QWidget4showEv'C:\ msys64 \ home \ tim \ Projects \ editor / editor.cpp:9:未定义引用__imp__ZN12QApplication4execEv'C:\ msys64 \ home \ tim \ Projects \ editor / editor.cpp:7:undefined reference to__imp__ZN9QTextEditD1Ev'C:\ msys64 \ home \ tim \ Projects \ editor / editor .cpp:6:未定义引用__imp__ZN12QApplicationD1Ev'C:\ msys64 \ home \ tim \ Projects \ editor / editor.cpp:7:未定义引用_imp__ZN9QTextEditD1Ev'C:\ msys64 \ home \ tim \ Projects \ 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 / libqtmaind.a -LC:/ msys64 / mingw64 / qt5-static / share / qt5 / plugins / styles C:/ msys64 / mingw64 / qt5-static / share / qt5 / plugins / styles / libqwindowsvistastyled .a -LC:/ msys64 / mingw64 / qt5-static / share / qt5 / plugins / platforms C:/msys64/mingw64/qt5-static/share/qt5/plugins/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/libQt5AccessibilitySupportd.a C:/msys64/mingw64/qt5-static/lib/libQt5VulkanSupportd.a -LC:/ msys64 / mingw64 / qt5-static / share / qt5 / plugins / imageformats C:/msys64/mingw64/qt5-static/share/qt5/plugins/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:/ msys64 /mingw64/qt5-static/lib/libqtpcre2d.a

一切都应该安装

$ pacman -Ss qt5-static mingw32 / mingw-w64-i686-qt5-static 5.10.0-2(mingw-w64-i686-qt mingw-w64-i686-qt5)[已安装]跨平台应用程序和UI framework(mingw-w64-static)mingw64 / mingw-w64-x86_64-qt5-static 5.10.0-2(mingw-w64-x86_64-qt mingw-w64-x86_64-qt5)[已安装]跨平台应用程序和UI框架(mingw-w64-static)

我用qmake -project创建了专业版并添加了 QT += widgets . 'qmake'(动态)有效,但'\mingw64\qt5-static\bin\qmake'会导致未定义的引用 . 任何提示非常感谢 .

1 回答

  • 0

    我不得不重新安装mingw64 / mingw-w64-x86_64-qt5-static然后才能工作 .

相关问题