在C ++源文件中包含C ++ 11头文件

时间:2015-11-11 08:00:42

标签: c++ unit-testing c++11 mocking

我试图弄清楚如何在我的C ++项目中使用C ++ 11标头。具体来说,我试图使用FakeIt模拟框架(https://github.com/eranpeer/FakeIt)来测试我用C ++构建的遗留应用程序。

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 ++的新手,所以非常感谢任何指点谢谢。

1 个答案:

答案 0 :(得分: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功能列表。