【发布时间】:2020-05-01 17:40:34
【问题描述】:
我正在使用 Cmake 和 Ctest 来尝试在 Travis CI 上测试我的代码。如果我使用 cmake 在本地进行测试,我将不会遇到任何错误,并且我可以进行测试。当通过 Travis CI 运行测试时,我得到了很多错误,比如这个:
error: no matching function for call to ‘std::basic_ifstream<char>::basic_ifstream(std::__cxx11::string&)’
ifstream myfile(filename);
文件名是一个字符串。 travis 是否运行与我的本地设置不同的版本编译器?
【问题讨论】:
-
确保包含
<fstream>。 -
可能是一个版本的东西。旧版本的标准库只接受
const char*那里。 -
你知道如何在 Travis CI 上使用更新的版本吗?
-
你的代码是 C++ >= 11,显然你应该告诉 Travis 你需要一个特定的编译器(和/或标志)。