(小记)cmake:六

本文介绍如何在CMake项目中使用CTest进行单元测试,包括配置CMakeLists.txt以启用测试,定义测试宏,以及使用Qt的QTest库编写和执行测试。

学习 cmake 的单元测试部分 ctest。

简单使用

最简单的使用ctest的方法,就是在 CMakeLists.txt 添加命令:

enable_testing()
  • 该命令需要在源码的根目录文件内。

从这一刻起,就可以在工程中添加add_test命令了

add_test(NAME <name> [CONFIGURATIONS [Debug|Release|...]]
           [WORKING_DIRECTORY dir]
           COMMAND <command> [arg1 [arg2 ...]])
  • name 指定一个名字
  • Debug|Release 控制那种配置下生效
  • dir 设置工作目录
  • command
    • 如果是可执行程序目标,则会被cmake替换成生成的程序的全路径
    • 后面的参数可以使用 $<...> 这种语法,比如 $<TARGET_FILE:tgt> 指代tgt这个目标的全名

ApiExtractor

继续以 ApiExtractor 为例学习ctest的使用

顶层的CMakeLists.txt文件的内容片段:

option(BUILD_TESTS "Build tests." TRUE)
if (BUILD_TESTS)
    enable_testing()
    add_subdirectory(tests)
endif()

创建选项,让用户控制是否启用单元测试。如果启用,则添加进 tests 子目录,我们看其CMakeLists.txt文件

  • 首先是创建一个declare_test的宏
    • 使用 qt4_automoc 进行moc处理
    • 生成可执行文件
    • 调用 add_test 加入测试
macro(declare_test testname)
    qt4_automoc("${testname}.cpp")
    add_executable(${testname} "${testname}.cpp")
    include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${apiextractor_SOURCE_DIR})
    target_link_libraries(${testname} ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} apiextractor)
    add_test(${testname} ${testname})
endmacro(declare_test testname)
  • 后续就简单了,需要的配置文件直接使用configure_file 的 COPYONLY
declare_test(testabstractmetaclass)
declare_test(testabstractmetatype)
declare_test(testaddfunction)
declare_test(testarrayargument)
declare_test(testcodeinjection)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/utf8code.txt"
                "${CMAKE_CURRENT_BINARY_DIR}/utf8code.txt" COPYONLY)
declare_test(testcontainer)

Qt单元测试

QTestLib 模块用起来还是很简单的,我们这儿稍微一下cmake和qmake的一点不同。

  • 使用qmake时,我们只需要一个源文件,比如测试 QString 类时,写一个 testqstring.cpp 文件
#include <QtTest/QtTest>

 class TestQString: public QObject
 {
     Q_OBJECT
 private slots:
     void toUpper();
 };

 void TestQString::toUpper()
 {
     QString str = "Hello";
     QCOMPARE(str.toUpper(), QString("HELLO"));
 }

 QTEST_MAIN(TestQString)
 #include "testqstring.moc"

然后pro文件内启用 testlib 模块,其他和普通Qt程序一样了。

  • 使用 cmake 时,我们将其分成两个文件
//testqstring.h
 #include <QtTest/QtTest>

 class TestQString: public QObject
 {
     Q_OBJECT
 private slots:
     void toUpper();
 };

//testqstring.cpp
 void TestQString::toUpper()
 {
     QString str = "Hello";
     QCOMPARE(str.toUpper(), QString("HELLO"));
 }

 QTEST_MAIN(TestQString)
 #include "testqstring.moc"

然后处理方式就是我们前面看到的那个宏了。

QTest宏

随便看下QTest的宏

  • QTEST_APPLESS_MAIN
  • QTEST_NOOP_MAIN
  • QTEST_MAIN
#define QTEST_APPLESS_MAIN(TestObject) /
int main(int argc, char *argv[]) /
{ /
    TestObject tc; /
    return QTest::qExec(&tc, argc, argv); /
}

#define QTEST_NOOP_MAIN /
int main(int argc, char *argv[]) /
{ /
    QObject tc; /
    return QTest::qExec(&tc, argc, argv); /
}

#define QTEST_MAIN(TestObject) /
int main(int argc, char *argv[]) /
{ /
    QCoreApplication app(argc, argv); /
    TestObject tc; /
    return QTest::qExec(&tc, argc, argv); /
}

最终都是调用QTest::qExec,Manual中对其有不少介绍了(略)。

参考

 

转载于:https://my.oschina.net/chaenomeles/blog/908896

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值