[ 3%] Building CXX object CMakeFiles/ORB_SLAM2.dir/src/System.cc.o
cc1plus: error: argument to ‘-O’ should be a non-negative integer, ‘g’, ‘s’ or ‘fast’
make[2]: *** [CMakeFiles/ORB_SLAM2.dir/build.make:76:CMakeFiles/ORB_SLAM2.dir/src/System.cc.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:95:CMakeFiles/ORB_SLAM2.dir/all] 错误 2
make: *** [Makefile:91:all] 错误 2
该回答引用ChatGPT
这个错误提示表明在你的构建系统中存在编译器优化标志的问题。编译器优化标志应该是一个非负整数、'g'、's' 或 'fast'。
以下是可能的解决方案:
检查你的 CMakeLists.txt 文件,看是否有任何不正确或无效的参数传递给了 -O 标志。例如,你可能在传递给 -O 的参数中有拼写错误。
确保你使用的 CMake 版本与你的编译器兼容。有时,使用过时或不匹配的 CMake 版本会导致构建系统出现问题。
检查你的编译器版本,以确保它与你使用的优化标志兼容。不同版本的编译器可能对优化标志具有不同的语法和要求。
如果以上解决方案都不起作用,你可能需要在 CMakeLists.txt 文件中手动指定优化标志。例如,你可以尝试添加以下行到你的 CMakeLists.txt 文件中,以将优化级别设置为 0(无优化):
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0")