【发布时间】:2011-10-03 06:35:32
【问题描述】:
我在 MacOS X 10.6.8 下使用 Qt Creator 2.2.1,标准 MacOS X 安装 CMake 2.8.5 和 6 月 21 日发布的 Qt SDK 版本 1.1.2(Qt 4.7.3 库)。
我的 CMakeLists.txt 在 Qt4 的 find_package 中失败——下面的第二行:
set (CMAKE_MODULE_PATH /Applications/CMake 2.8-5.app/Contents/share/cmake-2.8/Modules)
find_package (Qt4 REQUIRED HINTS /Users/myname/QtSDK)
我添加第一个只是为了确保它知道 FindQt4.cmake 所在的位置,但无论有没有该行都会出现相同的错误。
来自 CMake 的错误如下:
-- 配置不完整,出现错误! CMakeLists.txt:30 (find_package) 处的 CMake 错误: 找不到包 Qt4 的配置文件。 将 Qt4_DIR 设置为包含 Qt4 的 CMake 配置文件的目录。 该文件将具有以下名称之一: Qt4Config.cmake qt4-config.cmake我在已安装的 QtSDK 位置和 CMake 目录中都做了一些查找,但没有 Qt4Config.cmake。我确实在 CMake 模块目录中看到过——FindQt4.cmake、Qt4ConfigDependentSettings.cmake 和 UseQt4.cmake
根据this page:
find_package() 命令会在模块路径中查找 Find.cmake, 这是查找库的典型方法。首先 CMake 检查所有目录 ${CMAKE_MODULE_PATH},然后它会在自己的模块目录中查找 /share/cmake-x.y/Modules/. 如果没有找到这样的文件,它会寻找 Config.cmake 或 -config.cmake,应该由库安装 (但目前还没有很多库可以安装它们)和 不做检测,而只是包含硬编码的值 安装库。
所以看起来 FindQt4.cmake 应该找到我在其位置暗示的 Qt4 —— 那么为什么它甚至将其归结为 Qt4Config.cmake 呢?任何人都可以通过这些标准安装在 Mac 上使用它吗?
【问题讨论】:
标签: macos qt4 build-process cmake qt-creator