msys2静态QT未定义引用问题

时间:2018-02-27 00:33:46

标签: c++ qt mingw

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

  

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: undefined reference to __ 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框架(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。 &#39; qmake的&#39; (动态)有效,但&#39; \ mingw64 \ qt5-static \ bin \ qmake&#39;导致未定义的引用。任何提示都非常感激。

0 个答案:

没有答案