特拉维斯 CI QT 不构建

Travis CI QT not building

本文关键字:构建 QT CI 特拉维      更新时间:2023-10-16

所以我今天想在这个项目中使用 travis。可悲的是,它因此错误而失败:

$ make
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt5/mkspecs/linux-g++-64 -I. -I. -I/usr/include/qt5 -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. -o downloadmanager.o downloadmanager.cpp
In file included from downloadmanager.h:11:0,
                 from downloadmanager.cpp:1:
mainwindow.h:4:23: fatal error: QMainWindow: No such file or directory
compilation terminated.
make: *** [downloadmanager.o] Error 1
The command "make" exited with 2.

这是完整的日志。

注意我首先遇到它无法识别网络模块文件的问题(例如QNetworkAccessManager)。我通过使用"QT += 网络"执行 QMake 来解决此问题。现在它找不到GUI文件(例如QMessageBox),但添加"QT +=网络gui"并没有解决问题。

您需要添加widgets才能获得诸如QMessageBoxQMainWindow之类的类:

QT += widgets network gui

有关将来的参考,请参阅Qt 5文档。 每个类的页面指示必须添加到该类的qmake中的内容(位于页面顶部)。 例如,请参阅QMessageBox页面。