2015-11-11 94 views
0

我想弄清楚如何在我的C++項目中使用C++ 11頭文件。具體來說,我正嘗試使用FakeIt嘲諷框架(https://github.com/eranpeer/FakeIt)對我用C++構建的遺留應用程序進行單元測試。在C++源文件中包含C++ 11頭文件

FakeIt頁面說它支持C++ 11 & C++項目,但是當我使用庫中的頭文件構建我的應用程序時,它抱怨無法解析C++ 11符號。

gtest/include/fakeit.hpp:28:25: error: unordered_set: No such file or directory 
gtest/include/fakeit.hpp:29:17: error: tuple: No such file or directory 
gtest/include/fakeit.hpp:32:18: error: atomic: No such file or directory 

我是C++的新手,所以在這裏感謝任何指針。

+0

「在C++文件中使用C++ 11頭文件」這是什麼意思? – juanchopanza

+0

我有一個C++源文件,我使用g ++編譯器(沒有C++ 11)編譯,但我想包含一個C++ 11頭文件。我想知道這將如何工作,或者它甚至會工作? – broun

+0

@broun _「without C++ 11」_如果不使用「-std = C++ 11」選項,這是不可能的。你期望什麼? –

回答

3

默認情況下,C++ 11支持通常未啓用。用-std=c++11參數編譯你的程序。例如:

g++ -std=c++11 -I/path/to/libray file.cpp

另外,請確保您的編譯器實際上支持C++ 11,如果它不明白-std=c++11應該抱怨。 Here是各種g ++版本支持的C++ 11功能列表。