我需要在網絡模擬器NS-3的代碼中使用像unordered_map這樣的數據結構。 它使用waf生成器來編譯源代碼。 我很困惑,我應該在哪裏添加-std = C++ 0x來添加到編譯器標誌中? 我嘗試了用追加到主文件的WScript CXXFLAGS:如何構建NS-3以使用C++ 0x/C++ 11庫?
module.env.append_value('CXXFLAGS', '-std=c++0x');
但是還是我收到此錯誤:
This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options. C/C++ Problem
我應該還的任何庫添加到我的網絡應用防火牆模塊呢?
P.S:我的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.
有沒有辦法告訴編譯器使用,而不是11 0X?
你有沒有考慮使用GCC版本,這是最近2年以上走? – 2012-08-09 03:57:13
嘗試獲得GCC的新版本(如果使用C++ 11,我會說*至少* 4.6,但是甚至4.7.1)。 – Geoffroy 2012-08-09 07:52:19
@NicolBolas我更新了我的GCC和G ++到4.7並重新配置NS,但現在當它達到同一點時,它會出現此錯誤:error:#error該文件需要編譯器和庫支持ISO C++ 2011標準。此支持目前是實驗性的,必須使用-std = C++ 11或-std = gnu ++ 11編譯器選項啓用。 – hashtpaa 2012-08-09 20:00:10