std::chrono
應該在g++ 4.8.*
中支持。但是,當我嘗試使用它編譯使用g++ 4.8.3
時,它找不到各種聲明。我當然在使用-std=c++11
。g ++ 4.8。* std :: chrono Undeclared
例如這個調用(從一個自動生成的文件,這就是爲什麼-std
出現了兩次):
g++-4.8 -g -msse2 -m64 <defines> <warnings> -std=c++11 -fexceptions -std=c++11 <includes'-path> -c <source-file.cpp> -o <out-path>
產生以下錯誤:
<source-file, line>: error: ‘std::chrono::monotonic_clock’ has not been declared
我沒能找到verymuch那並不是立即編譯器版本或丟失-std=c++11
。從this推斷,我不需要別的東西。
問題:怎麼回事,我該如何解決?
從技術上講,它的存在依賴於實現。例如,代碼在MSVC中編譯。謝謝。 – imallett 2014-11-24 19:41:19
@imallett該標準允許實現在命名空間'std'和嵌套命名空間中添加其他名稱,所以在某些實現中可能會有'std :: chrono :: i_like_burritos'。但是並不要求C++ 11中名稱空間'chrono'有一個名爲'i_like_burritos'(或'monotonic_clock')的成員。 (或C++ 14,這是一個恥辱,因爲我真的喜歡墨西哥捲餅。) – Casey 2014-11-24 19:44:53
當然。我只是說'std :: chrono :: monotonic_clock'是一個捲餅。 – imallett 2014-11-24 19:48:07