NS3编译错误cc1plus: all warnings being treated as errors解决方法

解决方法1:

参考资料:https://blog.youkuaiyun.com/Mary19920410/article/details/70828947

网上找了很多都说把makefile里的”-Werror”去掉,但是NS3没有makefile,因此无法修改选项,找到NS3根目录下的build/c4che/cache.py文件,NS3 build的过程是通过该脚本文件进行配置的,删除该文件中的-werror选项(有好几处,通过查找找到并删除)。

【补充】有人提到存在”-Werror”会重复再次出现问题,确实有!运行./waf configure命令之后会重新配置,删除的”-Werror”会重复再次出现。解决方法就是项目不用频繁使用该配置命令,在最初运行一些配置之后,后面基本不需要作很大的更改。
解决方法2:

参考资料1:https://blog.youkuaiyun.com/barcodegun/article/details/6899635
参考资料2:https://blog.youkuaiyun.com/x356982611/article/details/71079937
参考资料1讲解了waf configure的设置选项,参考资料2讲述了如何设置C/C++编译是忽略警告。结合起来使用即可。

在运行./waf之前首先进行configure设置:

CXXFLAGS="-Wno-error" ./waf configure  //注意等号前后没有空格

//进行该配置之后再进行编译 即可忽略警告

注:在方法1实效的情况下可以使用方法2,

本人建议直接使用方法2
————————————————

转载自-原文链接:https://blog.youkuaiyun.com/loongkingwhat/article/details/82468388

### 解决 GCC 将所有警告视为错误方法 GCC 提供了一个选项 `-Werror`,该选项会将所有的警告视为错误并阻止编译过程继续。如果希望禁用此行为或将特定警告排除在外,则可以使用以下方法1. **移除 `-Werror` 选项** 如果项目配置文件(如 Makefile 或 CMakeLists.txt)中显式启用了 `-Werror`,则可以通过删除或注释掉该选项来解决问题[^4]。 2. **仅针对某些警告启用 `Werror`** 使用 `-Wno-error=<warning-name>` 来指定不将其作为错误处理的警告类别。例如,要忽略全局构造函数相关的警告,可以在编译命令中加入 `-Wno-error=unused-global-ctors`[^5]。 3. **调整构建脚本中的参数设置** 若变量 `"use_openh264"` 是通过构建参数传递给编译器的,则需确认其是否间接引入了额外的严格检查规则。如果是这种情况,可能需要重新评估这些参数的作用范围,并适当修改它们的行为[^3]。 以下是用于测试上述更改的一个简单示例代码片段: ```c #include <iostream> int main() { std::cout << "Testing warning handling." << std::endl; int unused_variable; // Intentional unused variable to trigger a warning. return 0; } ``` 当尝试编译这段程序时,默认情况下只会显示未使用的变量这一类别的提示;但如果存在 `-Werror` 参数,则会导致整个流程中断。因此,在实际操作前务必仔细阅读文档说明以及相关附录内容(比如提到过的第9条和第10条)[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值