linux – CMAKE_PREFIX_PATH无法帮助CMake查找Qt5
发布时间:2020-12-14 00:54:23 所属栏目:Linux 来源:网络整理
导读:从这里: 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
从这里:
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的输出. :~/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/确实存在. :~/junk/qtquick_hello_cmake$cd /opt/Qt5.9.1/5.9.1/ :/opt/Qt5.9.1/5.9.1$ls android_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",errors occurred! See also "/home/.../junk/qtquick_hello_cmake/CMakeFiles/CMakeOutput.log". 目录的内容: :~/junk/qtquick_hello_cmake$ls CMakeCache.txt CMakeFiles CMakeLists.txt main.cpp main.qml qml.qrc 解决方法
我安装了以下缺少的包:
sudo apt-get install qtbase5-dev sudo apt-get install qtdeclarative5-dev 现在不需要附加任何类型的前缀: :~/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$ls build 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 错误现在消失了. 谢谢: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |