From 69f35447c460b0acd838397e85acf931374490ca Mon Sep 17 00:00:00 2001 From: 244t Date: Fri, 22 May 2026 20:18:45 +0900 Subject: [PATCH] docs(windows): add WSL development workflow section Co-Authored-By: Claude Opus 4.7 (1M context) --- WINDOWS_PORT.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/WINDOWS_PORT.md b/WINDOWS_PORT.md index 66179c74c..b7eb56f5d 100644 --- a/WINDOWS_PORT.md +++ b/WINDOWS_PORT.md @@ -94,6 +94,26 @@ W1(配線・骨格)→ W2(空ウィンドウが出る所まで)→ W3(GL でタ `zig build -Dtarget=x86_64-windows-msvc -Dapp-runtime=windows` - 当面は `zig build` で `.exe` を生成 → 直接実行。 +## WSL で開発する場合 + +WSL(WSL2)を母艦に Windows 移植を開発することも可能。native Windows との +差は実質「`xwin` セットアップ1回」だけ。 + +- **Claude Code**: WSL2 で完全サポート(full Bash + サンドボックス)。 +- **編集**: 問題なし。 +- **ビルド(クロスコンパイル)**: WSL(Linux)から + `zig build -Dtarget=x86_64-windows-msvc` で Windows 向け `.exe` を生成できる。 + MSVC ABI は Windows SDK / MSVC ライブラリを要するため、`xwin` + (github.com/Jake-Shadle/xwin)で一度だけ取得して Zig に渡す。 + - 代替: `src/build/Config.zig` の MSVC ABI 強制を exe ビルドでは + `windows-gnu` に緩めれば、Zig が完全自己完結なので `xwin` 不要。 + libghostty-vt を MSVC リンカで使う用途が無いならこちらが楽。 +- **実行・テスト**: WSL2 の interop で、生成した `term244.exe` を WSL シェルから + そのまま起動できる(Windows 側で実行され、ウィンドウは Windows デスクトップに + 出る)。ビルド→実行ループはこれで回せる。 +- **デバッグ**: 深い Win32 のデバッグはネイティブ Windows のツール + (Visual Studio デバッガ等)の方が楽。要所だけ native 側で確認するとよい。 + ## 参考資料 - **Win32 ウィンドウ/入力層(W2)**: WezTerm(Rust, MIT)— 独自ウィンドウ層を