【问题标题】:Finding Qt with CMake: Missing moc, uic, rcc使用 CMake 查找 Qt:缺少 moc、uic、rcc
【发布时间】:2013-10-08 17:33:26
【问题描述】:

我正在尝试修复定制 Qt 的安装。我正在使用来自this very similar questionqt.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 版本。

我错过了什么?

【问题讨论】:

    标签: windows qt qt4 cmake


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-03
        • 1970-01-01
        • 1970-01-01
        • 2017-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多