我们发布的预编译包中的qmake生成的Makefile带有原来的目录信息, 比如qt头文件路径,链接路径等。
比如我们运行:
$qmake -spec $qtpath/mkspecs/qws/linux-arm-g++ -o Makefile Nxpwin.pro
这里linux-arm-g++/qmake.conf 包含的linux.conf有行如:
QMAKE_INCDIR_QT       = $$[QT_INSTALL_HEADERS]
而QT_INSTALL_HEADER由configure qt源码包时得到(比如指定--headerdir,未指定则有prefix得到)。
qmake是在configure是生成的,QT_INSTALL_HEADER当时就被写入了qmake,所以导致该问题。

现在的解决方法是,在解开预编译包前,指定configure生成适合自身环境的qmake。然后在编译qt应用时,通过这个生成的qmake来生成Makefile。

 

顺便记录一下qt编译方法:

make QT_BUILD=yes SYSTEM_NAME=directfb_example QT_VERSION=4.6.3