我为CentOS 6.4编译了qt 4.8.5。一切都很完美。当我使用这个编译的qt版本编译其他库时,只要我将安装程序文件夹保存在同一位置就可以进行编译。如果我在另一个位置移动安装程序文件夹,则会出现以下错误:
cd common/ && make -f Makefile
make[1]: Entering directory `/path/MashLab/meshlab/src/common'
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DGLEW_STATIC -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../qt/install_dir/mkspecs/linux-g++-64 -I. -I/path/qt/install/include/QtCore -I/path/qt/install/include/QtGui -I/path/qt/install/include/QtOpenGL -I/path/qt/install/include/QtXml -I/path/qt/install/include/QtXmlPatterns -I/path/qt/install/include/QtScript -I/path/qt/install/include -I../.. -I../../../vcglib -I../external/glew-1.7.0/include -I. -I../external/jhead-2.95 -I/usr/X11R6/inc
lude -I. -o filterparameter.o filterparameter.cpp
filterparameter.cpp:24:18: error: QtCore: No such file or directory
filterparameter.cpp:25:16: error: QMap: No such file or directory
filterparameter.cpp:26:17: error: QPair: No such file or directory
filterparameter.cpp:27:19: error: QAction: No such file or directory
即使我将环境变量导出到新位置,它仍在搜索lib并包含在安装它的路径中:
$: export QMAKESPEC=/path/qt/install_dir/mkspecs/linux-g++-64
$: export QTLIB=/path/qt/install_dir/lib
$: export QTINC=/path/qt/install_dir/include
$: export QTDIR=/path/qt/install_dir
安装位置:/ path / qt / install
新位置:/ path / qt / install_dir
问题:有没有办法(一些参数)可以编译qt并使用libs / includes的动态路径?
答案 0 :(得分:0)
使用Qt> = 5.3在qmake所在的位置旁边创建一个qt.conf(例如/path/qt/install_dir/bin/qt.conf)
[Paths]
Prefix = ..
如果这不起作用,请检查路径qmake正在寻找qt.conf
strace qmake -query 2>&1 | grep qt.conf