ubuntu-toolchain-r-ubuntu-test工具链
1. 安装最新版本工具链
1.1 直接添加源
1 | sudo add-apt-repository ppa:ubuntu-toolchain-r/test |
1.2 检查libc版本
要求libc6 (>= 2.38),但是22为2.35
22需要进行额外操作如下:(注意,可能导致严重后果!)
1 | 编辑/etc/ |
1.3 修改为最新版本
编辑文件
1 | 最后的文件名取决于版本 |
将文件修改为如下(24及以上版本):
其中URIs的修改帮助国内正常使用,Suites采用最新版本,可以详见选择合适的版本后出现的结果Toolchain test builds : “PPA for Ubuntu Toolchain Uploads (restricted)” team
1 | Types: deb |
24以下版本修改为:
1 | deb https://launchpad.proxy.ustclug.org/ubuntu-toolchain-r/test/ubuntu/ plucky main |
1.4 cmake更新
1.4.1 添加密钥
1 | sudo apt-get update |
1.4.2 添加源
1 | 对于24版本 |
1.4.3 安装
1 | sudo apt-get install cmake |
1.5 离线下载
通过apt下载
首先下载解析依赖的工具
1 | sudo apt install apt-rdepends |
下载
1 | apt download $(apt-rdepends g++-15 | grep -v "^ ") |
2. 使用
2.1 更新与下载
要求libc6 (>= 2.38),但是22默认为2.35
1 | sudo apt update && sudo apt install g++-15 gcc-15 |
2.2 创建示例文件
文件内容如下:
1 | import std; |
2.3 编译标准库
1 | g++-15 -std=c++23 -fmodules -O2 -c -fmodule-only -fsearch-include-path bits/std.cc |
2.4 编译最终文件
1 | g++-15 test.cpp -fmodules-ts -std=c++23 |
2.5 运行
1 | ./a.out |
2.6 使用CMake
CMake文件如下:
1 | cmake_minimum_required(VERSION 4.0) |
首先要拷贝标准库文件(可能是Bug)
1 | sudo mkdir -p /usr/lib/gcc/x86_64-linux-gnu/include/c++/ |
然后编译
1 | cmake .. -G Ninja |
随后运行即可
3. 其他
3.1 引用的libc库
可以通过以下命令查看:
1 | ldd /usr/bin/g++-15 |
输出为:
1 | ldd /usr/bin/g++-15 |
而自带的g++-13输出为:
1 | ldd /usr/bin/g++ |
3.2 编译时引用的标准库
位于/usr/lib/gcc/x86_64-linux-gnu/15
4. CMake 4.0
CMake 4.0 Release Notes — CMake 4.0.2 Documentation
基本没有特别针对modules进行改动,仍然是实验特性。
介绍视频如下:
CMake 4.0: What You Need to Know
参考
为研究C++20语法,在ubuntu22上安装支持g++13和gcc13 - 杰之行 - 博客园
在ubuntu中安装较新版本的gcc和gdb - 及途又八 - 博客园
为研究C++20语法,在ubuntu22上安装支持g++13和gcc13 - 杰之行 - 博客园
Toolchain test builds : “PPA for Ubuntu Toolchain Uploads (restricted)” team
GCC 15 Release Series — Changes, New Features, and Fixes - GNU Project
Toolchain test builds : “PPA for Ubuntu Toolchain Uploads (restricted)” team
[xim+]: 最新gcc15.1.0发布, 一键从源码构建 – c++23 import std启动 | D2learn Forum
升级libstdc++、libgcc_s.so、libc.so.6 - 邶风 - 博客园
[ubuntu20.04升级GLIBC高版本方法,解决:version `GLIBC_2.34‘ not found_缺少多个 glibc 版本,包括 glibc 2.32、glibc 2.33、glibc 2.34 -CSDN博客](https://blog.csdn.net/shelutai/article/details/132363838 )
ubuntu2004升级cmake版本到4.0.1 – 运维术
Ubuntu 安装、升级最新cmake的几种方法 - 今夜白的学习笔记
c++ 20 module 模块使用 cmake_cmake module-CSDN博客
CMake 配置 C++ Modules | FlyAndNotDown Blog
(6 封私信 / 80 条消息) Cmake支持C++20 modules了吗? - 知乎
CMake 4.0 Release Notes — CMake 4.0.2 Documentation
CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL — CMake 4.0.2 Documentation
cmake-cxxmodules(7) — CMake 4.0.2 Documentation
Strange errors while build example with Import std on main branch - Development - CMake Discourse
Strange errors while build example with Import std on main branch - Development - CMake Discourse
使用 gcc-15 导入 std 模块 - c++ - SO中文参考 - www.soinside.com
如何使用CMake构建一个使用C++23标准库模块(导入std)的项目? c++-modules - Dev59
CMake 4.0: What You Need to Know
- Title: ubuntu-toolchain-r-ubuntu-test工具链
- Author: Ethereal
- Created at: 2025-06-04 15:23:13
- Updated at: 2025-06-05 12:21:32
- Link: https://ethereal-o.github.io/2025/06/04/ubuntu-toolchain-r-ubuntu-test工具链/
- License: This work is licensed under CC BY-NC-SA 4.0.