cmake.. 对Pangolin的build 进行编译报以下错误:CMake Error at components/pango_core/CMakeLists.txt:41 (target_compile_features):
target_compile_features The compiler feature "cxx_decltype_auto" is not
known to CXX compiler
"GNU"
version 4.8.5.
Call Stack (most recent call first):
CMakeLists.txt:114 (include)
该如何解决
GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。
这个操作系统是GNU计划的主要目标,名称来自GNU’s Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。
GNU计划,有译为“革奴计划”,是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统GNU。
作为操作系统,GNU的发展仍未完成,其中最大的问题是具有完备功能的内核尚未被开发成功。GNU的内核,称为Hurd,是自由软件基金会发展的重点,但是其发展尚未成熟。
1991年Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此GNU计划自己的内核Hurd依然在开发中,已经发布Beta版本。)
GNU 包含3个协议条款: GPL 、LGPL 、GFDL 。
GNU软件包列表,该系统的基本组成包括:
GNU编译器套装(GCC)、GNU的C库(glibc)、以及GNU核心工具组(coreutils),另外也是GNU除错器(GDB)、GNU二进制实用程序(binutils)的GNU Cashshell中和GNOME桌面环境。GNU开发人员已经向GNU应用程序和工具的Linux移植,也广泛应用在其它操作系统中使用,如BSD变体的Solaris,和OS X作出了贡献。
许多GNU程序已经被移植到其他操作系统,包括专有软件,如Microsoft Windows和OS X.GNU计划已经被证明是比他们的专有Unix更为可靠。截至2015年11月,全国共有466 GNU软件包(包括退役,但不包括383 )主办的官方GNU开发的网站。
使用GNU版本4.8.5可能是Pangolin软件的特定要求,因此您需要先确保GNU版本符合要求。安装旧版本的软件包可能会导致安全漏洞,所以最好安装最新的GNU版本。以下是解决问题的步骤:
在终端中输入以下命令:
gcc --version
如果已安装的GNU版本小于4.8.5,请继续以下步骤。否则,您可以跳过第2步并确保您已正确配置GNU环境变量。
Ubuntu / Debian用户可以使用以下命令安装GNU编译器:
sudo apt-get update
sudo apt-get install build-essential
Red Hat / CentOS用户可以使用以下命令安装GNU编译器:
sudo yum update
sudo yum groupinstall 'Development Tools'
访问以下URL以查找版本4.8.5的GCC:
https://ftp.gnu.org/gnu/gcc/gcc-4.8.5/
在此页面上,您可以找到适用于您的操作系统的软件包以及与之相关的HASH值和数字签名。通过验证这些值和签名,您可以确认下载文件的完整性和安全性。
解压缩下载的tar.gz文件:
tar zxvf gcc-4.8.5.tar.gz
进入解压后的目录,并运行以下命令:
./configure
make
sudo make install
等待安装完成,这可能需要一些时间。
您需要将GCC添加到系统环境变量中。编辑您的.bashrc / .zshrc文件,并在文件末尾添加以下行:
export PATH="$PATH:/usr/local/bin"
保存并关闭文件,然后重新加载环境变量:
source ~/.bashrc (or source ~/.zshrc)
输入以下命令,验证已正确安装版本4.8.5的GNU版本:
gcc-4.8.5 --version
如果成功,您的输出应为:
gcc-4.8.5 (GCC) 4.8.5
现在您已经安装了Pangolin所需的GNU版本,可以重新运行软件安装。如果还有其他错误,请参阅官方文档或联系技术支持。