在 Ubuntu 上让 gcc 支持 C++11,主要分两步:确认 gcc 版本 和 编译时加 C++11 选项。
C++11 从 GCC 4.7 开始支持,GCC 4.8+ 支持较好,推荐 GCC 5 及以上。
查看版本:
gcc --version
g++ --version
如果版本低于 4.7,需要升级。
g++ -std=c++11 test.cpp -o test
这是最常见方式。
g++ -std=c++0x test.cpp -o test # 老版本 gcc(4.7以前)
g++ -std=c++11 test.cpp -o test # 推荐
g++ -std=c++14 test.cpp -o test
g++ -std=c++17 test.cpp -o test
sudo apt update
sudo apt install g++-9
使用指定版本:
g++-9 -std=c++11 test.cpp -o test
设为默认(可选):
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
或:
add_compile_options(-std=c++11)
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3};
for (auto x : v)
std::cout << x << std::endl;
return 0;
}
编译:
g++ -std=c++11 test.cpp -o test
./test
如果你愿意,可以告诉我:
我可以给你更具体的配置方式。