【问题标题】:wrong toolchain of QT in cmakecmake中QT的错误工具链
【发布时间】:2018-11-09 12:50:09
【问题描述】:

我正在尝试构建具有构建跨平台能力的项目。 因此,它需要多个版本的 QT 作为其依赖项。更准确地说,它有 3 个版本的 qt:

  • gcc_64
  • android_x86
  • android_armv7

我正在尝试在 linux 上构建,所以我希望选择 gcc_64。 但是当我

find_package(Qt5Widgets REQUIRED)
find_package(Qt5OpenGL REQUIRED)

ccmake 似乎选择了 android_armv7。 我得到的路径如下:

Qt5OpenGL_DIR /opt/apps/Qt/5.6/android_armv7/lib/cmake/Qt5OpenGL

这让我想到一个问题,有没有一种方法可以影响 cmake 以找到特定的替代方案?

如果这取决于指定目标平台/架构/工具链的某个变量,则很可能是设置错误,因此如果您知道可能导致选择错误版本的原因,请指出方向错误的标志。

【问题讨论】:

    标签: qt cmake


    【解决方案1】:

    事实证明,您可以使用 DCMAKE_PREFIX_PATH 操作包含以影响找到的版本。这个 + 清理 cmake 缓存解决了我的问题。

    我已将其传递给 cmake:

    -DCMAKE_PREFIX_PATH=/opt/apps/Qt/5.6/gcc_64

    【讨论】:

    • 昨天,我偶然发现了一个类似的问题。在我的 Windows 10 笔记本电脑上安装 Qt5 和 CMake 后,我尝试准备一个最小的 Qt5 项目。 CMake 抱怨缺少 Qt5,直到我准备了一个环境变量 CMAKE_PREFIX_PATH 和相应的。 Qt5 路径(根据我的预期目标平台,它必须是相应 Qt5 bin 文件夹的父文件夹。)变种。正确地,CMake 开始构建解决方案/项目。
    猜你喜欢
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2019-01-28
    相关资源
    最近更新 更多