find_package
搜索顺序如下:
CMAKE_PREFIX_PATH
、CMAKE_FRAMEWORK_PATH
、CMAKE_APPBUNDLE_PATH
<package>_DIR
、CMAKE_PREFIX_PATH
、CMAKE_FRAMEWORK_PATH
、CMAKE_APPBUNDLE_PATH
HINTS
选项中搜索。PATH
环境变量中搜索。有了这个概念,就有几种提供正确版本给QT的方法:
QTDIR
)。然后在CMake文件中使用它:
set(CMAKE_PREFIX_PATH "$ENV{QTDIR}")
find_package(Qt5 HINTS "$ENV{QTDIR}" COMPONENTS Core Quick REQUIRED)
Qt5_DIR
的环境变量,指向正确版本的QT。然后无需对CMake文件进行其他更改。PATH
环境变量中第一个被找到的,例如在 Windows 下路径为 C:\Qt\Qt5.10.1\5.10.1\msvc2017_64
Qt5_DIR
的新变量,将其类型设置为PATH
,并将其值设置为类似于C:\Qt\5.11.0\msvc2017_64\lib\cmake\Qt5
的内容,其中5.11.0
是Qt的版本号。该文件夹必须包含Qt5Config.cmake
,以便CMake正确设置环境。SET Qt5_DIR=.....
即可。 - Alex P.我的解决方法是将所需的QT路径放在PATH变量的顶部。如果您想让CMAKE找到它,它必须在PATH中。
C:\Qt\Qt5.10.1
或C:\Qt\Qt5.10.1\5.10.1\msvc2017_64
或C:\Qt\Qt5.10.1\5.10.1\msvc2017_64\lib\cmake\Qt5
? - zwcloud