关于 QT的 No such file or directory 问题以及pro文件变量

在运行Qt程序时,有时候其他文件使用某个头文件可以运行,但是到自己这里调用某个头文件时就会报出 No such file or directory 问题。这个一般由于可能安装了多个Qt版本导致qmake调用错误,这个可以再Makefile文件中查看QMAKE变量确认程序使用的是哪个qmake。如果qmake版本没问题就要在Makefile文件中查看INCPATH = -I…/Qt5.3.1/5.3/gcc_64/mkspecs/linux-g++ -I. -I. -I…/Qt5.3.1/5.3/gcc_64/include -I…/Qt5.3.1/5.3/gcc_64/include/QtGui -I…/Qt5.3.1/5.3/gcc_64/include/QtCore -I.比如我的错误是头文件QQmlApplicationEngine不能找到,该文件在…/include/QtQml/QQmlApplicationEngine下,是不是在头文件添加QtQml/ QQmlApplicationEngine就好了,答案是否定的。因为同文件下也使用了QGuiApplication头文件,但是该文件在INCPATH中的路径…/Qt5.3.1/5.3/gcc_64/include/QtGui是正确的。那么原因是什么呢?会不会是.pro文件?

  大家可以想下Makefile文件是如何生成的,是qmake根据.pro文件编译后产生的,了解这里之后,我在.pro文件中添加include(deployment.pri)  QT += qml quick quick-private,然后问题就解决了。

你可能感兴趣的:(c++)