首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CMake查找Qt :缺少moc、uic、rcc

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

Stack Overflow用户
提问于 2013-10-09 01:33:27
回答 2查看 3.4K关注 0票数 2

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

代码语言:javascript
复制
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返回正确的路径:

代码语言:javascript
复制
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版本。

我遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2013-10-09 02:00:34

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

票数 1
EN

Stack Overflow用户

发布于 2013-10-09 16:23:16

问题是,他们决定将QT_BINARY_DIR设置为CACHE INTERNAL变量,在更改qt.conf并删除CMake中的QT_*变量后,该变量未正确重置。仅当qmake.exe的路径更改时,才重置QT_BINARY_DIR。在清除缓存之后,它工作了。

我从中得到的教训是:不要使用CACHE INTERNAL,只使用FORCEmark_as_advanced

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19254481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档