本文介绍了CMAKE_PREFIX_PATH不能帮助CMake查找Qt5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 从此处: https://stackoverflow.com/a/28327499/462608 我尝试过:cmake_minimum_required(VERSION 2.8.12)project(qtquick_hello_cmake)set(CMAKE_PREFIX_PATH "/opt/Qt5.9.1/5.9.1/")set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)find_package(Qt5 COMPONENTS Quick Core REQUIRED)qt5_add_resources(RESOURCES qml.qrc)add_executable(${PROJECT_NAME} "main.cpp" "qml.qrc")qt5_use_modules(${PROJECT_NAME} Quick Core)target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Quick) 以下是输出的 cmake。Here is the output of cmake .:~/junk/qtquick_hello_cmake$ cmake .CMake Error at CMakeLists.txt:11 (find_package): By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5", but CMake did not find one. Could not find a package configuration file provided by "Qt5" with any of the following names: Qt5Config.cmake qt5-config.cmake Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR" to a directory containing one of the above files. If "Qt5" provides a separate development package or SDK, be sure it has been installed.-- Configuring incomplete, errors occurred!See also "/home/.../junk/qtquick_hello_cmake/CMakeFiles/CMakeOutput.log". 这是为了表明 /opt/Qt5.9.1/ 确实存在。This is to show that /opt/Qt5.9.1/ does exist.:~/junk/qtquick_hello_cmake$ cd /opt/Qt5.9.1/5.9.1/:/opt/Qt5.9.1/5.9.1$ lsandroid_armv7 android_x86 gcc_64 Src 在这里,我使用-DCMAKE选项运行cmake,但输出仍然相同::~/junk/qtquick_hello_cmake$ cmake -DCMAKE_PREFIX_PATH=/opt/Qt5.9.1/5.9.1/ -DWITH_QT5=1 .CMake Error at CMakeLists.txt:11 (find_package): By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5", but CMake did not find one. Could not find a package configuration file provided by "Qt5" with any of the following names: Qt5Config.cmake qt5-config.cmake Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR" to a directory containing one of the above files. If "Qt5" provides a separate development package or SDK, be sure it has been installed.-- Configuring incomplete, errors occurred!See also "/home/.../junk/qtquick_hello_cmake/CMakeFiles/CMakeOutput.log". 目录内容::~/junk/qtquick_hello_cmake$ lsCMakeCache.txt CMakeFiles CMakeLists.txt main.cpp main.qml qml.qrc推荐答案我安装了以下缺少的软件包:I installed the following missing packages:sudo apt-get install qtbase5-devsudo apt-get install qtdeclarative5-dev现在不需要附加任何前缀:Attaching any kind of prefix is not required now: :~/junk/qtquick_hello_cmake$ cat CMakeLists.txt cmake_minimum_required(VERSION 2.8.12) project(qtquick_hello_cmake) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) find_package(Qt5 COMPONENTS Quick Core REQUIRED) qt5_add_resources(RESOURCES qml.qrc) add_executable(${PROJECT_NAME} "main.cpp" "qml.qrc") qt5_use_modules(${PROJECT_NAME} Quick Core) target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Quick):~/junk/qtquick_hello_cmake$ lsbuild CMakeLists.txt main.cpp main.qml qml.qrc:~/junk/qtquick_hello_cmake$ cd build/:~/junk/qtquick_hello_cmake/build$ rm -rf *:~/junk/qtquick_hello_cmake/build$ cmake ../-- The C compiler identification is GNU 4.8.4-- The CXX compiler identification is GNU 4.8.4-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Configuring done-- Generating done-- Build files have been written to: /home/.../junk/qtquick_hello_cmake/build错误已经消失。感谢: https://answers.ros.org/question/236324/could-not-find-a-package-configuration-file-provided-by-qt5widgets/ https://askubuntu.com/questions/508503/whats-the-development -package-for-qt5-in-14-04 这篇关于CMAKE_PREFIX_PATH不能帮助CMake查找Qt5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
05-27 21:41
查看更多