1.在windows下配置好qt的环境变量以后,用cmd开始编译,
qmake -project
qmake hello.pro
mingw32-make
结果出现错误
..\test\test.cpp:1:24: fatal error: QApplication: No such file or directory
#include
问题已经解决了,主要是:
Qt5的qapplication在QtWidgets模块里,和Qt4不一样,Qt4的qapplication在QtGui模块里。
故而只需在.pro文件中加入:
greaterThan(QT_MAJOR_VERSION, 4): QT +=widgets
也可以查看当前目录下Makefile(.debug or .release)里的环境变量INCPATH知道make应用是去哪里找头文件的。例如 ./Makefile.Debug 文件部分内容
15 CXXFLAGS= -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) 16 INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I.
17 LINK= g++
第16行里面的,对应的去查找/usr/include/qt4/QtGui/QApplication这个文件是否存在(一般是不存在,存在就不会出错了)。
2.make: Nothing to be done for 'first'
使用mingw32-make clean 后再使用 mingw32-make 即可。
有的编译命令是使用make,则make clean后make。
3.在Qt4中插件的编译需要宏Q_EXPORT_PLUGIN2,在Qt5中不用该宏能通过编译,用了反而不能通过