2

我正在尝试修复定制 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_QMAKE_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_INSTALL_PREFIX也返回正确的路径。请注意,我不能使用环境变量,因为我们需要为不同的项目使用不同的 Qt 版本。

我错过了什么?

4

2 回答 2

1

问题是他们决定创建QT_BINARY_DIR一个CACHE INTERNAL变量,在更改qt.conf和删除QT_*CMake 中的变量后,该变量没有正确重置。QT_BINARY_DIR仅当路径qmake.exe更改时才会重置。清除缓存后,它起作用了。

我从中吸取的教训:不要使用CACHE INTERNAL,只使用FORCEmark_as_advanced

于 2013-10-09T08:23:16.213 回答
1

您应该设置CMAKE_PREFIX_PATHB:/lib/vs10/Qt-4.8.1-VS10x64/bin而不是设置QT_QMAKE_EXECUTABLE。它将帮助 cmake 找到所有 qt 可执行文件。

于 2013-10-08T18:00:34.210 回答