C++编译器不支持C++11(例如std::unique_ptr)构建OpenWrt

use*_*655 6 c++ openwrt g++ cmake

我使用此处此处的说明在Ubuntu中构建OpenWrt,但我得到:

make[4]: Entering directory '~/openwrt/build_dir/host/cmake-3.11.1/Bootstrap.cmk'
make[4]: 'cmake' is up to date.
make[4]: Leaving directory '~/openwrt/build_dir/host/cmake-3.11.1/Bootstrap.cmk'
loading initial cache file ~/openwrt/build_dir/host/cmake-3.11.1/Bootstrap.cmk/InitialCacheFlags.cmake
CMake Error at CMakeLists.txt:92 (message):
  The C++ compiler does not support C++11 (e.g.  std::unique_ptr).


-- Configuring incomplete, errors occurred!
Run Code Online (Sandbox Code Playgroud)

这里有一个类似问题的解决方案。但是,我不清楚哪个CMakeLists.txt文件是我的情况下的“根”。我在 OpenWrt 论坛(或一般搜索引擎)上没有看到太多关于此失败的信息。

我得到的印象是 CMake 安装是由 OpenWrt 构建器本身下载的,因为我没有安装 CMake 并且安装 CMake 没有解决任何问题。

尝试查看最新的 OpenWrt v18.06.2。当构建失败时,我删除了克隆的目录并尝试了 v18.06.0-rc2。没有任何改善。

我也尝试过

export CMAKE_CXX_STANDARD=11
Run Code Online (Sandbox Code Playgroud)

在运行“make”之前,但它没有解决问题。

我的 g++ 安装状态:

g++ -v
Run Code Online (Sandbox Code Playgroud)

输出:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-27ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
Run Code Online (Sandbox Code Playgroud)

好吧,那是五个小时,我已经没有主意了。这可能是开发人员端的配置错误或错误吗?

如果配置错误,可能是什么地方设置错误呢?

Nic*_*ela 5

我的解决方案很简单:

我将 CMake 源代码复制到我的系统驱动器。如果您在远程硬盘上创建 CMake,它将失败并出现错误,就像上面一样。