我的 Dockerfile 使用FROM gcc:5
、运行 apt-get update 并通过wget
. 我的顶级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
^
我尝试添加 with 等的变体set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
,libstdc++
但gnuc++11
编译器无法识别它们。我也试add_compile_options(-std=c++11)
了也没用。我也试过 apt-get upgrade gcc 但这也没有帮助。
我在这里想念什么?