如何在RedHat 7.5上使用gcc 4.8.5与C++14一起使用make?

问题描述 投票:0回答:1

我在一台Red Hat 7.5的机器上安装了gcc 4.8.5,我想在这台机器上编译一个软件包,为了编译这个软件包,我需要运行 "make",然而,当我运行这个程序时,我看到以下错误信息 "error: 'make_unique' is not a member of 'std'"。我的理解(可能是不正确的)是,这条信息源于4.8.5使用C++11和 "make_unique "需要C++14的事实。所以我认为编译的方法是在运行 "make "时指定使用C++14。

我试着将C++设置为14,如下:cmake -G "Unix Makefiles" -D CMAKE_CXX_STANDARD=14。

然后我运行 "make"。

但这也给出了同样的错误信息。

makefile cmake c++14 redhat
1个回答
0
投票

你使用的编译器不支持C++14。正如在 文件:

GCC支持最初的ISO C++标准(1998年),并包含对第二个ISO C++标准(2011年)的实验性支持。

这并不奇怪,因为GCC 4.8最初是在2011年发布的。2013 所以如果它实现了一年后推出的标准,那就太奇怪了。


0
投票

如果要使用C++14甚至C++17,你可以用以下方法编译它 RH Devtoolset 8. 由于DTS编译器的 "性质",所建立的软件将在目标操作系统上运行:在操作系统上提供的符号,可以在DTS编译器上运行。libstdc++ 会被动态解析,而C++11及以上版本会从专门建立的静态链接到你的可执行文件。libstdc++.a 由DTS提供。

© www.soinside.com 2019 - 2024. All rights reserved.