weixin_44687597 2024-03-18 14:43 采纳率: 0%
浏览 11

在使用cmake进行交叉编译的时候会出现没有定义c++版本

在使用cmake进行交叉编译的时候会出现
error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
但是在CMakeList.mk文件中是用了set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}"),有没有帮忙解决一下

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-18 14:43
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    这个错误提示表明当前的代码要求编译器支持C++11标准,但是该支持是实验性的,需要使用编译器选项"-std=c++11"或者"-std=gnu++11"来启用。 解决这个问题的方法是在CMakeList.txt文件中设置编译器选项。可以在对应的目标中使用target_compile_options命令来设置编译选项,例如: target_compile_options(my_target PRIVATE "-std=c++11") 这将为名为"my_target"的目标添加编译选项"-std=c++11"。如果需要添加其他选项,可以在选项列表中继续添加即可。 另外,如果使用的是早期版本的CMake,请使用以下命令设置C++11编译选项: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 这将向CMAKE_CXX_FLAGS环境变量中添加编译选项"-std=c++11"。
    评论

报告相同问题?

问题事件

  • 修改了问题 3月18日
  • 创建了问题 3月18日