我试图简单地打开Qt6.4.1传感器示例项目,但它说没有发现CMake配置。我已经为Windows做了一些简单的Qt6应用程序,我已经安装了整个Qt6.4.1包,所以不能怪安装不好。在CMakeLists.txt中的行find_package(Qt6 REQUIRED COMPONENTS Core Gui Quick Sensors Svg)上有错误。完整的错误信息:
C:QtExamplesQt-6.4.1sensorssensorsshowcaseCMakeLists.txt:12: error: By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt6", but CMake did not find one. Could not find a package configuration file provided by "Qt6" with any of the following names: Qt6Config.cmake qt6-config.cmake Add the installation prefix of "Qt6" to CMAKE_PREFIX_PATH or set "Qt6_DIR" to a directory containing one of the above files. If "Qt6" provides a separate development package or SDK, be sure it has been installed.
配置时通过CMAKE_PREFIX_PATH
缓存变量将路径传递到包含Qt6文件的目录
注意:确保指定变量的类型为PATH
或使用正斜杠作为路径分隔符,以使其正常工作
。对我来说,我需要通过
-D CMAKE_PREFIX_PATH=D:/Qt/6.4.1/msvc2019_64
告诉CMake查找包含用MSVC编译的Qt6.4.1文件的目录。
确保您传递的目录包含文件lib/cmake/Qt6/Qt6Config.cmake
;这是find_package(Qt6 REQUIRED COMPONENTS ...)
正在查找的文件。
您还可以通过添加缓存变量来修复先前失败的项目设置。
cmake -D CMAKE_PREFIX_PATH=D:/Qt/6.4.1/msvc2019_64 path/to/build_dir
注意:在配置VS项目时不要忘记添加-A ...
选项;CMake默认为Win32
作为架构,至少在我的系统上是这样。
你可以将这个信息添加到CMAKE_PREFIX_PATH
环境变量中,如果你不想为每一个使用qt 6的项目指定信息缓存变量,你想在你的机器上设置。