命名空间 'std' 中没有名为 'make_unique' 的成员

no member named 'make_unique' in namespace 'std'

我正在使用 cmake 3.9.2,我的 CMakeLists.txt 中有以下几行:

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall")

我还使用 clang 4.0 作为我的编译器,我的 OS 是 Ubuntu Trusty。当我安装 clang 时,我添加了以下存储库:

deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main
deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main
ppa:ubuntu-toolchain-r/test

和运行命令:

# apt-get install clang-4.0 libstdc++6 libc++1

毕竟我仍然收到错误

error: no member named 'make_unique' in namespace 'std'

与此同时,在我的 OS X 10.11 上,一切都能顺利构建和运行。在 Ubuntu Zesty 我也没有任何问题。我在 Ubuntu Trusty 上做错了什么?

看来我解决了这个问题。我需要安装 libc++-dev 并确保 -stdlib=libc++ 在命令行中。