移除 Docker 构建路线,改为 host 直装 Qt 5.14.2 + Qt Creator 4.11.0
学生主要用 Windows,Docker 方案不再需要:删掉 tools/docker/ 及 README/HANDOFF/ CMakeLists 里的相关引用(含一处已失效的 docker_run.sh 死链接)。 install_qt_host.sh 现在同时装期号匹配的 Qt Creator 4.11.0:官方 .run 安装器 强制要求 Qt 账号登录且无 Skip 选项,改用 tools/extract_qtcreator_payload.py 直接从 .run 里定位、解出内嵌的 7z payload,绕开账号登录。提取逻辑先解到 staging 目录再原子替换到位,避免中途失败留下部分安装但被判定为"已装"; 候选 7z 复用同一临时文件,不会在磁盘上堆多份安装包大小的临时拷贝。
This commit is contained in:
+5
-8
@@ -52,7 +52,6 @@
|
||||
| 仓库骨架(顶层 CMakeLists、.gitignore、tools/、docs/) | ✅ 完成 |
|
||||
| **隔离 Qt 5.14.2 安装**(`.qt514/`,aqtinstall 装在仓库内) | ✅ 完成 |
|
||||
| 验证隔离有效:`ldd` 0 系统 Qt 引用、offscreen 运行打印 5.14.2 | ✅ 完成 |
|
||||
| Docker 构建/安装/运行脚本(构建容器模型) | ✅ 完成(轻量 builder 镜像已构建) |
|
||||
| Part1 C/C++ 源码 + CMakeLists 生成器 | ✅ 可运行(`tools/gen_part1.py`) |
|
||||
| Part1 英文文件名映射表(`tools/file_name_map.py`) | ✅ 完成,113 节全覆盖 |
|
||||
| Part1 全部编译通过 | ⚠️ **未完成**:144 个目标,剩 4 个 FAILED |
|
||||
@@ -77,8 +76,7 @@ qt-course/
|
||||
│ ├── gen_part1.py # Part1 生成器(含 exact_fix、block_classify、wrap_statements、emit_console)
|
||||
│ ├── file_name_map.py # (pageId, section_title) → 英文文件名词根(113 条,全覆盖)
|
||||
│ ├── run.sh / run_qt.sh # 宿主机运行 part1 / Qt 目标(LD_LIBRARY_PATH 隔离)
|
||||
│ ├── install_qt_host.sh # 宿主机直装 Qt 5.14.2 到 .qt514/(venv+apt)
|
||||
│ ├── docker/ # Dockerfile + docker_build_image/install_qt/build.sh
|
||||
│ ├── install_qt_host.sh # 宿主机直装 Qt 5.14.2 + Qt Creator 4.11.0 到 .qt514/
|
||||
│ └── wiki_data/ # 抓取的 wiki 正文+代码块(已拷入,生成器输入)
|
||||
├── docs/
|
||||
│ ├── ERRATA.md # Part1 代码修正记录(自动生成,72 条)
|
||||
@@ -111,12 +109,11 @@ cmake -S . -B build -G Ninja -DBUILD_QT_PART=ON \
|
||||
cmake --build build
|
||||
LD_LIBRARY_PATH=$PWD/.qt514/5.14.2/gcc_64/lib ./tools/run_qt.sh <target> # 或直接 ./tools/run_qt.sh
|
||||
|
||||
# 装/重装隔离 Qt 5.14.2(宿主机,一次性)
|
||||
# 装/重装隔离 Qt 5.14.2(宿主机,一次性;同时装 Qt Creator 4.11.0)
|
||||
tools/install_qt_host.sh
|
||||
# 或用容器装:tools/docker/docker_install_qt.sh(需先 tools/docker/docker_build_image.sh)
|
||||
```
|
||||
|
||||
**隔离 Qt 核心事实**(已验证):靶机=gcc13+glibc2.39;容器与宿主机同栈;二进制容器编译宿主机运行;`.qt514` 是唯一真相源;`ldd` 0 系统 Qt 引用;`QT_QPA_PLATFORM=offscreen` 可无 X 运行验证。
|
||||
**隔离 Qt 核心事实**(已验证):`.qt514` 是唯一真相源;`ldd` 0 系统 Qt 引用;`QT_QPA_PLATFORM=offscreen` 可无 X 运行验证。学生主要用 Windows,构建/运行方案不引入 Docker。
|
||||
|
||||
---
|
||||
|
||||
@@ -182,7 +179,7 @@ tools/install_qt_host.sh
|
||||
- 语言全是 C++(`.cpp`)。
|
||||
- 英文文件名映射表 `file_name_map.py` 里目前**只有 Part1**;Part3 需新增 pageId 58954515–58954552 的映射(约 16–25 个 section)。
|
||||
|
||||
**验证**:Docker 容器构建 → host offscreen 运行(`QT_QPA_PLATFORM=offscreen ./tools/run_qt.sh <target>`),用 `QTimer` 自动退出、捕获 stdout/退出码确认。需 X 真窗时给 DISPLAY。
|
||||
**验证**:host 构建 → offscreen 运行(`QT_QPA_PLATFORM=offscreen ./tools/run_qt.sh <target>`),用 `QTimer` 自动退出、捕获 stdout/退出码确认。需 X 真窗时给 DISPLAY。
|
||||
|
||||
---
|
||||
|
||||
@@ -207,7 +204,7 @@ tools/install_qt_host.sh
|
||||
1. 读本手册 + `tools/gen_part1.py` + `tools/gen_sources.py` 了解生成器。
|
||||
2. 修 Part1 剩余 4 个 FAILED(§4):补 `<cstring>`、namespace 提升 41/42、dedupe 重载集。重建到 144/144 全绿。
|
||||
3. 应用深缩写目录(§5):改 `PAGE_CONFIG` 的 dir 为 p/ch/s,全量重建确认路径。
|
||||
4. 写 `gen_part3.py` + 扩 `file_name_map.py`;生成 Part3;Docker/host 构建;offscreen 运行验证。
|
||||
4. 写 `gen_part3.py` + 扩 `file_name_map.py`;生成 Part3;host 构建;offscreen 运行验证。
|
||||
5. 写 `std_probe.py` + `tools/demo_versions/`;填 `docs/VERSION_NOTES.md`。
|
||||
6. 写 `docs/SOURCE_PAGES.md`(pageId→章节映射表)、各章 README、顶层 README。
|
||||
7. 全量 clean build,`git add -A && git commit`(**目前 0 提交,务必最后提交一次**)。
|
||||
|
||||
Reference in New Issue
Block a user