【发布时间】:2019-08-02 20:58:44
【问题描述】:
如果我跑步
cmake -DCMAKE_PREFIX_PATH=/home/rip/Qt/5.12.1/gcc_64/lib/cmake
一切正常。但是如果我写
set(CMAKE_PREFIX_PATH "/home/rip/Qt/5.12.1/gcc_64/lib/cmake")
在CMakeLists.txt中只运行cmake,会出现如下错误信息:
Could not find a package configuration file provided by "Qt5Quick" with any
of the following names:
Qt5QuickConfig.cmake
qt5quick-config.cmake
这是完整的代码:
set(CMAKE_CXX_FLAGS " -O3 -fopenmp")
set(CMAKE_PREFIX_PATH "/home/rip/Qt/5.12.1/gcc_64/lib/cmake")
project(${PROJECT_NAME} LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(SOURCES main.cpp Test5.cpp )
set(HAEDERS Test5.h )
set(RESOURCES qml.qrc )
find_package(Qt5 COMPONENTS Core Quick REQUIRED)
add_executable(${PROJECT_NAME} ${SOURCES} ${HAEDERS} ${RESOURCES})
target_compile_definitions(${PROJECT_NAME} PRIVATE $,$>:QT_QML_DEBUG>)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Quick)
【问题讨论】:
-
从
CMakeLists.txt设置CMAKE_PREFIX_PATH应该可以工作。请显示更多代码:您的设置相对于project()调用和find_package()调用的放置方式。 -
嗯,这个设置应该可以了。在
project()呼叫之后,您可以尝试移动set(CMAKE_PREFIX_PATH ...)。旁注:变量CMAKE_CXX_FLAGS的当前设置肯定不起作用,您需要在project()调用之后移动它。此外,您的代码缺少cmake_minimum_required()调用。通常,CMake 会对此发出警告,因此最好修复它。 -
哦,我发现了错误。这是克莱恩的问题。现在一切正常。非常感谢。但“CMAKE_CXX_FLAGS”在 project() 之前工作正常。
-
我在 CMakeList.txt 中的 xtensor 库设置 CMAKE_PREFIX_PATH 有同样的问题,但外部效果很好
-
@Orion 你是如何解决这个 Clion 问题的?