我有这段代码。
FIND_PACKAGE(Clang REQUIRED)
SET(CMAKE_C_COMPILER clang)我希望将clang设置为C编译器,但如果像这样使用它,它使用的是来自系统的clang,而不是来自FIND_PACKAGE的clang。FIND_PACKAGE应该设置一些变量,比如CLANG_INCLUDE_DIRS。我需要带有clang路径的变量,但我没有找到该变量或其他变量的名称。我可以在哪里找到它,或者这个变量的名称是什么?
我使用cmake 3.18
发布于 2022-04-08 08:41:38
最后,我用这段代码做了这件事。不需要FIND_PACKAGE。
IF (NOT ${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
MESSAGE(FATAL_ERROR "Set clang as C compiler")
ENDIF()发布于 2022-03-31 13:12:21
find_package(Clang)本身只搜索clang 库,而不是编译器。因此它不设置直接指向编译器的任何变量。
它设置的最接近的是变量LLVM_INSTALL_PREFIX,它表示LLVM安装前缀。(这个变量是在FindLLVM.cmake脚本中设置的,由FindClang.cmake调用)。
来设置C编译器的路径。
# Instead of "Clang" package one could search "LLVM".
FIND_PACKAGE(Clang REQUIRED)
SET(CMAKE_C_COMPILER ${LLVM_INSTALL_PREFIX}/bin/clang)确保将此设置放在 project()调用之前,如这个答案中所述。
https://stackoverflow.com/questions/71692508
复制相似问题