繁体   English   中英

如何在Windows上使用cmake find_package设置qt5路径?

[英]How to set qt5 path with cmake find_package on Windows?

我正在添加这样的QT:

find_package(Qt5 COMPONENTS Core Quick REQUIRED)
...
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Quick ${OpenCV_LIBS})

但是cmake发现了一些python工件而不是预期的C:\\ QT ......

在此输入图像描述

我怎么能改变这个? 试图找到一些例子,但没有找到任何明确的指令,哪个子文件夹的C:\\ QT \\我应该指定(任何地方)。

find_package搜索顺序如下:

  1. 缓存变量中搜索: CMAKE_PREFIX_PATHCMAKE_FRAMEWORK_PATHCMAKE_APPBUNDLE_PATH
  2. 环境变量中搜索: <package>_DIRCMAKE_PREFIX_PATHCMAKE_FRAMEWORK_PATHCMAKE_APPBUNDLE_PATH
  3. HINTS选项中搜索。
  4. 搜索PATH环境变量。
  5. 而在一些更“绝望”的地方。 更多关于这一点

考虑到这一点,有几种方法可以为QT提供正确的版本:

  1. 有一个环境变量指向正确版本的QT(例如QTDIR )。 并在CMake文件中使用它:
    • 喜欢set(CMAKE_PREFIX_PATH "$ENV{QTDIR}")
    • find_package(Qt5 HINTS "$ENV{QTDIR}" COMPONENTS Core Quick REQUIRED)
  2. 有一个明确命名为Qt5_DIR的环境变量指向正确版本的QT。 然后,不需要对CMake文件进行其他更改。
  3. 确保在PATH环境变量中找到所需的Qt版本,例如,对于Windows C:\\Qt\\Qt5.10.1\\5.10.1\\msvc2017_64

您可以设置单击CMake Gui中的Add Entry按钮并添加一个名为Qt5_DIR的新变量,选择其类型为PATH ,其值为C:\\Qt\\5.11.0\\msvc2017_64\\lib\\cmake\\Qt5 ,其中5.11.0是Qt版本。 此文件夹必须包含Qt5Config.cmake ,CMake需要正确设置。

我的解决方法是将所需的QT放在PATH变量的顶部。 如果你想让CMAKE找到它,它必须在PATH中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM