我正在尝试弄清楚如何在我的C++项目中使用C++11头。具体地说,我正在尝试使用FakeIt模拟框架()对使用C++构建的遗留应用程序进行单元测试。FakeIt页面说C++11和C++项目都支持它,但是当我使用库中的头文件构建应用程序时,它报告说无法解析C++11符号。No such file or directory
gtest/include/fakeit.hpp:32:18: error: atomic: No such fi
因此,我只能创建一个FILE*,而不能创建一个我喜欢在C++中使用的std::ofstream。(显然,在AIX和其他一些系统上,可以从文件描述符创建一个std::ofstream,但是当我尝试这样做时,我的编译器会报错。)我知道我可以用tmpnam获得一个临时文件名,然后用它打开我自己的ofstream,但由于竞争条件,这显然是不安全的,并导致编译器警告(g++ v3.4。在Linux上):
warning: the use of `tmpnam' is dangerous,