 | X | | | | |
| Debian 11 | X | X | | | |
| Debian 12 | X | X | X | X | |
| Debian 13 | X | X | X | X | X |
| Fedora | X | X | X | X | |
| openSUSE 15 | X | X | X | X | |
| openSUSE 16 | X | X | X | | |
| Rocky 8 | X | X | | | |
| Rocky 9/10 | X | X | X | X | |
| Ubuntu | X | X | X | X | X |
| Windows | X | | | | |
| MSYS/MinGW | X | | | | |
不带OS_VERSION的镜像(如debian或rocky)基于基础镜像的“latest”标签构建,通常与带OS_VERSION的镜像共享相同的镜像层。例如,debian与debian-12共享相同层,rocky与rocky-9共享相同层。
可用工具集
Linux
这些镜像构成用于构建各类C/C++项目的其他镜像的核心,因此包含以下核心软件:
- CMake
- Clang
- GCC
- Git
- Make
- Ninja构建工具
- pkgconf
- Python 3
- Subversion
Linux镜像默认使用gcc/g++编译器。要使用clang/clang++编译器,只需在启动容器时定义CC/CXX环境变量,例如:
sh
# 启动Fedora容器,配置使用clang/clang++编译器
docker run -e CC=clang -e CXX=clang++ stabletec/build-core:fedora
Windows
基于SDK的镜像包含两个编译器(有三个选项可用)和基础工具集:
- Chocolatey
- clang/clang-cl
- CMake
- Git
- Ninja构建工具
- Python 3
- Subversion
- Visual Studio构建工具(MSVC,含Address Sanitizer)
由于Windows镜像缺乏向前兼容性,它们按长期服务服务器核心(LTSC)版本拆分,并在每个基础上按Visual Studio版本再次拆分。
Windows镜像默认使用MSVC编译器。要使用clang/clang-cl编译器,只需在启动容器时定义CC/CXX环境变量,例如:
powershell
# 启动Windows容器,配置使用clang-cl编译器
docker run -e CC=clang-cl -e CXX=clang-cl stabletec/build-core:windows-ltsc2022
# 启动Windows容器,配置使用clang编译器
docker run -e CC=clang -e CXX=clang stabletec/build-core:windows-ltsc2022
MSYS/MinGW
这些镜像构成用于构建各类C/C++项目的其他镜像的核心,因此包含以下核心软件:
- CMake
- Clang
- GCC
- Git
- Make
- Ninja构建工具
- pkgconf
- Python 3
- Subversion
有多种MinGW环境变体可用,如此处所述。
目前仅提供amd64架构的环境:
由于Windows镜像缺乏向前兼容性,它们按长期服务服务器核心(LTSC)版本拆分,并按MinGW环境再次拆分。
分析工具
Fedora镜像还包含用于代码插桩和分析的分析工具:
- AddressSanitizer
- LeakSanitizer
- ThreadSanitizer
- UndefinedBehaviourSanitizer
- clang-tidy
- clang-format
- cppcheck
- llvm
- include-what-you-use(iwyu)