如何在Ubuntu 22.04的/usr/include/c++中安装C++17库?
解决方法:无需单独下载C++17库,你的环境已支持
你的gcc 11.4.0本身就完全支持C17标准,系统里的libstdc++(对应gcc 11版本)已经包含了C17的所有标准库实现,不需要单独下载安装所谓的"C++17库"到/usr/include/c++目录。按以下步骤确认并配置即可:
先确保安装了完整的编译工具链和标准库开发包:
执行命令:sudo apt install build-essential libstdc++-11-dev这个命令会补全gcc/g的依赖,同时确保
/usr/include/c++/11目录下的C标准库头文件完整,其中就包含所有C++17新增的头文件(比如<variant>、<optional>等)。验证C++17支持:
写一段测试代码(比如命名为test_cpp17.cpp):#include <iostream> #include <optional> // C++17新增特性 int main() { std::optional<int> opt = 42; if (opt) { std::cout << "C++17 works: " << *opt << std::endl; } return 0; }用C++17标准编译并运行:
g++ -std=c++17 test_cpp17.cpp -o test_cpp17 ./test_cpp17如果输出
C++17 works: 42,说明环境已经正常支持C++17。关于
/usr/include/c++下的10和11目录:
这是系统中同时安装了gcc 10和gcc 11的标准库,gcc 11的标准库在11子目录下,已经完全覆盖C++17的需求,不需要额外添加其他版本的库。
内容的提问来源于stack exchange,提问作者RookieRyan
相关产品推荐
相关产品推荐

