给定的
跨平台的C++项目,必须建立在一些古老的windows移动平台上。然而,发展是由GCC完成的。
问题
每次使用C++11特性时,它都会在本地构建,但在构建服务器(移动窗口)上失败。
问题
如果我们的代码库中使用了C++11特性(不包括其他源依赖项),是否可以配置GCC以某种方式警告它。
你试过什么?
我知道如何使用-std=c++98 -pedantic,但是:
发布于 2018-09-21 17:20:26
使用C++98标志构建需要与C++98兼容的代码。
使用C++11标志构建需要与C++11兼容的代码。
检查用于确保用C++98和C++11构建的代码之间的ABI兼容性的编译器和标准库的文档;假设您在C++98和C++11代码基之间传递std::string,您可能必须(例如)在C++11代码中使用C++98字符串来实现ABI兼容性。
生成同一个文件时,不能同时使用C++11,也不能不使用C++11,除非生成两次。这也是一个选项;两次构建C++98兼容的东西,一次用C++latest,一次用C++98。停止错误和警告后,丢弃C++98构建。
https://stackoverflow.com/questions/52426918
复制相似问题