Docker GCC中的C 11:5图像



我的dockerfile使用FROM gcc:5,运行APT-GET更新并通过wget安装CMAKE v3.9。我的顶级CMakeLists.txt具有set(CMAKE_CXX_STANDARD 11),但这似乎并不能说服GCC使用C 11进行编译,因为我收到以下错误:

/ifeature.hpp:51:42: error: 'shared_ptr' in namespace 'std' does not name a template type
     virtual float compare(const std::shared_ptr<IFeature>& feature) const = 0
                                      ^

我尝试使用libstdc++gnuc++11等添加set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")的变体,但是编译器无法识别它们。我还尝试了add_compile_options(-std=c++11)无济于事。我还尝试了APT-GET升级GCC,但这也没有帮助。

我在这里缺少什么?

以供将来参考,并且为了任何可能遇到此页面的人的利益,我应该像 @评论中提到的 @someprogrammer-dude更新,简单地包括 <memory>解决了所示的错误在我的问题中。

鉴于我的原始开发环境与我的docker映像中的开发环境不同,并且代码是用不同的编译器编写的,我必须解决一些类似的问题(缺少文件)以满足gcc-v5要求。

<</p>

相关内容

  • 没有找到相关文章

最新更新