Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用CMake查找Qt:缺少moc、uic、rcc_Windows_Qt_Qt4_Cmake - Fatal编程技术网

Windows 使用CMake查找Qt:缺少moc、uic、rcc

Windows 使用CMake查找Qt:缺少moc、uic、rcc,windows,qt,qt4,cmake,Windows,Qt,Qt4,Cmake,我正在尝试修复定制Qt的安装。我使用的是来自的qt.conf。但是,CMake 2.8.7仍然无法找到moc、uic和rcc CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE): Could NOT find Qt4 (missing: QT_MOC_EXECUTABLE QT_RCC_EXECUTABL

我正在尝试修复定制Qt的安装。我使用的是来自的
qt.conf
。但是,CMake 2.8.7仍然无法找到moc、uic和rcc

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):
  Could NOT find Qt4 (missing: QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE
  QT_UIC_EXECUTABLE) (found suitable exact version "4.8.1")
我已手动将
QT\u QMAKE\u EXECUTABLE
变量设置为正确的值,即
B:/lib/vs10/QT-4.8.1-VS10x64/bin/QMAKE.exe
。部署
qt.conf
文件后,
qmake-v
返回正确的路径:

c:\>B:/lib/vs10/Qt-4.8.1-VS10x64/bin/qmake.exe -v
QMake version 2.01a
Using Qt version 4.8.1 in B:/lib/vs10/Qt-4.8.1-VS10x64/lib
qmake-query QT\u INSTALL\u PREFIX
还返回正确的路径。注意,我不能使用环境变量,因为不同的项目需要不同的Qt版本


我缺少什么?

您应该将
CMAKE\u PREFIX\u PATH
设置为
B:/lib/vs10/Qt-4.8.1-VS10x64/bin
而不是设置
Qt\u QMAKE\u EXECUTABLE
。这将有助于cmake查找所有qt可执行文件。

问题是,他们决定将
qt\u BINARY\u DIR
a
缓存内部
变量,在更改
qt.conf
并删除cmake中的
qt\u*
变量后,该变量未正确重置
QT_BINARY_DIR
仅在
qmake.exe的路径更改时重置。清除缓存后,它工作了

我从中得到的教训是:不要使用
缓存内部
,只使用
强制
标记为高级