要在CentOS上使用GCC支持C++20,你需要确保安装了支持C++20的GCC版本,并在编译时指定C++20标准。以下是具体步骤:
CentOS默认安装的GCC版本可能不支持C++20。你需要安装较新的GCC版本,例如GCC 11或更高版本。
启用Software Collections (SCL)仓库:
sudo yum install centos-release-scl
安装Devtoolset-11(或其他版本):
sudo yum install devtoolset-11
启用Devtoolset-11:
scl enable devtoolset-11 bash
这将启动一个新的shell会话,在这个会话中,GCC和其他工具链将被设置为Devtoolset-11的版本。
验证GCC版本:
gcc --version
g++ --version
你应该看到类似于gcc (GCC) 11.x.x的输出。
在编译C++20代码时,你需要使用-std=c++20选项来指定C++20标准。
假设你有一个名为main.cpp的文件,内容如下:
#include <iostream>
#include <ranges>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
auto even_numbers = vec | std::views::filter([](int x) { return x % 2 == 0; });
for (int num : even_numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
使用以下命令编译该文件:
g++ -std=c++20 -o main main.cpp
编译成功后,运行生成的可执行文件:
./main
你应该看到输出:
2 4
要在CentOS上使用GCC支持C++20,你需要安装支持C++20的GCC版本(例如通过Devtoolset),并在编译时使用-std=c++20选项。这样,你就可以利用C++20的新特性进行开发。