我需要在网络模拟器 NS-3 的代码中使用像 unordered_map 这样的数据结构。它使用 waf builder 来编译源代码。我很困惑,我应该在哪里添加 -std=c++0x 以添加到编译器标志?我尝试使用以下方法将其附加到主 wscript 文件中的 CXXFlags:
module.env.append_value('CXXFLAGS', '-std=c++0x');
但我仍然收到此错误:
该文件需要对即将推出的 ISO C++ 标准 C++0x 的编译器和库支持。此支持目前是实验性的,必须使用 -std=c++0x 或 -std=gnu++0x 编译器选项启用。C/C++ 问题
我还应该向我的 waf 模块添加任何库吗?
PS:我的 GCC 版本是 4.4
更新:更新到 4.7 后出现此错误:
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.
有没有办法告诉编译器使用 0x 而不是 11?