cmake:通过CMAKE_CXX_COMPILE_FEATURES判断编译器是否支持C++11

本文介绍了如何利用CMake的CMAKE_CXX_COMPILE_FEATURES变量来判断C++编译器是否支持C++11及以上标准。从CMake3.1版本开始,该变量提供了编译器支持的特性列表,而从CMake3.8版本起,可以直接通过特性名如cxx_std_11来检查C++11支持。示例代码展示了如何检查C++11支持,并在不支持时给出错误提示。这种方法使得检测编译器标准支持变得简单可靠。

以前在cmake中要判断一个编译器是否支持C++11挺麻烦的,要根据编译器的类型和版本来判断。
从cmake 3.1版本开始增加了一个CMAKE_CXX_COMPILE_FEATURES变量用于获取当前C++ 编译器支持的编译特性列表,列表中是一些定义在CMAKE_CXX_KNOWN_FEATURES(C++已知特性)中的特性名字,比如cxx_lambdas即为当前编译器支持lambda表达式。
从cmake 3.8版本开始,cmake可识别的编译特性增加了代表C++标准的特性名:cxx_std_98,cxx_std_11,cxx_std_14,cxx_std_17

最新的cmake 3.23版本还增加了cxx_std_20,cxx_std_23《High level meta features indicating C++ standard support》

有这个CMAKE_CXX_COMPILE_FEATURES变量,判断编译支持的标准就变得很简单可靠了:

cmake_minimum_required( VERSION 3.8 )
project(myprj VERSION 1.0.0 LANGUAGES C CXX)
# 输出CMAKE_CXX_COMPILE_FEATURES内容
#message("Your C++ compiler supports these C++ features:")
# foreach(i ${CMAKE_CXX_COMPILE_FEATURES})
#   message("${i}")
# endforeach()
# list命令在CMAKE_CXX_COMPILE_FEATURES 查找 cxx_std_11 ,
# 如果能找到就说明编译支持C++11
# 否则报错退出
list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_11 _cxx11_enable)
if(_cxx11_enable)
	message(STATUS "C++ 11 supported")
else()
	message(FATAL_ERROR "Compiler not supported C++ 11 standard")
endif()
unset(_cxx11_enable)

参考资料

《How to detect C++11 support of a compiler with CMake》
《CMAKE_CXX_COMPILE_FEATURES》
《CMAKE_CXX_KNOWN_FEATURES》

CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake:181 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeOutput.log Call Stack (most recent call first): CMakeLists.txt:5 (project) CMake Error: Could not open file for write in copy operation /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CMakeSystem.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake:193 (configure_file): configure_file Problem configuring file Call Stack (most recent call first): CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdCXX Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:1075 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeError.log Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:81 (CMAKE_DETERMINE_COMPILER_ID_VENDOR) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:1075 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeError.log Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:81 (CMAKE_DETERMINE_COMPILER_ID_VENDOR) /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:120 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) -- The CXX compiler identification is unknown CMake Error: Could not open file for write in copy operation /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake:226 (configure_file): configure_file Problem configuring file Call Stack (most recent call first): CMakeLists.txt:5 (project) CMake Error: Could not find cmake module file: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:300 (file): file problem creating directory: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CompilerIdC Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD) /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:59 (__determine_compiler_id_test) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:1075 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeError.log Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:81 (CMAKE_DETERMINE_COMPILER_ID_VENDOR) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:1075 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeError.log Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:81 (CMAKE_DETERMINE_COMPILER_ID_VENDOR) /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:5 (project) -- The C compiler identification is unknown CMake Error: Could not open file for write in copy operation /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake.tmp CMake Error: : System Error: No such file or directory CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake:226 (configure_file): configure_file Problem configuring file Call Stack (most recent call first): CMakeLists.txt:5 (project) CMake Error: Could not find cmake module file: /home/nvidia/librealsense/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake -- Detecting CXX compiler ABI info CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake:49 (try_compile): Unknown extension ".cpp" for file /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp try_compile() works only for enabled languages. Currently these are: C CXX See project() command to enable other languages. Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI) CMakeLists.txt:5 (project) -- Detecting CXX compiler ABI info - failed CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake:188 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeError.log Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI) CMakeLists.txt:5 (project) -- Check for working CXX compiler: /usr/bin/c++ CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:41 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Call Stack (most recent call first): CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:49 (try_compile): Unknown extension ".cxx" for file /home/nvidia/librealsense/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx try_compile() works only for enabled languages. Currently these are: C CXX See project() command to enable other languages. Call Stack (most recent call first): CMakeLists.txt:5 (project) -- Check for working CXX compiler: /usr/bin/c++ - broken CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:58 (file): file failed to open for writing (No such file or directory): /home/nvidia/librealsense/build/CMakeFiles/CMakeError.log Call Stack (most recent call first): CMakeLists.txt:5 (project) CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:62 (message): The C++ compiler "/usr/bin/c++" is not able to compile a simple test program. It fails with the following output: CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:5 (project) -- Configuring incomplete, errors occurred! CMake Error: Cannot open file for write: /home/nvidia/librealsense/build/CMakeCache.txt.tmp5249f CMake Error: : System Error: Permission denied CMake Error: Unable to open cache file for save. /home/nvidia/librealsense/build/CMakeCache.txt CMake Error: : System Error: Permission denied
09-04
find_package(PCL 1.14.1 REQUIRED) if (WIN32) target_compile_definitions(${PROJECT_NAME} PRIVATE NOMINMAX) endif() target_link_libraries(${PROJECT_NAME} PRIVATE ${PCL_LIBRARIES}) D:\QT_project\untitled1\CMakeLists.txt:51: warning: Call stack: D:/QT_project/untitled1/CMakeLists.txt:51 (find_package) D:/QT_project/untitled1/build/Desktop_Qt_6_8_3_MSVC2022_64bit-Debug/.qtc/package-manager/maintenance_tool_provider.cmake:322 (find_package) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:556 (find_external_library) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:300 (find_qhull) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:155 (find_package) D:/QT_project/untitled1/CMakeLists.txt:51 (find_package) D:/QT_project/untitled1/build/Desktop_Qt_6_8_3_MSVC2022_64bit-Debug/.qtc/package-manager/maintenance_tool_provider.cmake:322 (find_package) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:559 (find_external_library) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:294 (find_boost) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:121 (find_package) D:/QT_project/untitled1/CMakeLists.txt:51 (find_package) D:/QT_project/untitled1/build/Desktop_Qt_6_8_3_MSVC2022_64bit-Debug/.qtc/package-manager/maintenance_tool_provider.cmake:322 (find_package) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:559 (find_external_library) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:298 (find_flann) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:253 (find_package) D:/QT_project/untitled1/build/Desktop_Qt_6_8_3_MSVC2022_64bit-Debug/.qtc/package-manager/maintenance_tool_provider.cmake:322 (find_package) D:/LightSpark/QT__/PCL1.14.1/cmake/Modules/FindFLANN.cmake:45 (find_package) D:/QT_project/untitled1/CMakeLists.txt:51 (find_package) D:/QT_project/untitled1/build/Desktop_Qt_6_8_3_MSVC2022_64bit-Debug/.qtc/package-manager/maintenance_tool_provider.cmake:322 (find_package) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:559 (find_external_library) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:294 (find_boost) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:121 (find_package) D:/QT_project/untitled1/CMakeLists.txt:51 (find_package) D:/QT_project/untitled1/build/Desktop_Qt_6_8_3_MSVC2022_64bit-Debug/.qtc/package-manager/maintenance_tool_provider.cmake:322 (find_package) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:559 (find_external_library) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:294 (find_boost) D:/LightSpark/QT__/PCL1.14.1/cmake/PCLConfig.cmake:121 (find_package) D:/QT_project/untitled1/build/Desktop_Qt_6_8_3_MSVC2022_64bit-Debug/.qtc/package-manager/maintenance_tool_provider.cmake:322 (find_package)
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值