Skip to Content
Plugin 開發工具鏈:clang-cl

工具鏈:clang-cl

本頁於 2026-09 以 LLVM 22.1.8(clang-cl,Windows 版安裝程式)加 Visual Studio Community 2026 18.10 的標頭與函式庫驗證,x86 與 x64 兩種架構都實際編譯並載入主程式確認。

clang-cl 是 clang 的 MSVC 相容前端:命令列像 cl.exe,但編譯器是 clang。 它需要兩樣東西:LLVM(編譯器)與 Visual Studio 的 C++ 工具(標頭檔、函式庫、連結器)。 如果你只想要一個 clang,llvm-mingw 簡單得多; 這條車道給「本來就在 Visual Studio 環境、想用 clang 編譯器」的人。

下載與安裝

  1. 先照 Visual Studio 那一頁裝好 Visual Studio 與 使用 C++ 的桌面開發工作負載。

  2. 到 LLVM 的 Releases 頁 , 在要用的版本的 Assets 裡下載 Windows 64 位元的安裝程式 LLVM-<版本>-win64。 副檔名依版本而異:本頁驗證用的 22.1.8 是 LLVM-22.1.8-win64.exe,撰寫本頁時最新的 23.1.2 則是 LLVM-23.1.2-win64.msi。不要下載 clang+llvm-...tar.xz(那是免安裝壓縮檔, 沒有安裝程式,也不會幫你設 PATH)。

  3. 執行安裝程式。若有「把 LLVM 加入 PATH」的選項就勾選它(22.x 的 .exe 安裝程式有, 選項寫的是 Add LLVM to the system PATH)。沒有這個選項或沒勾的話, clang-cl.exe 不在 PATH 上,build.bat 找不到它——見下一節,用 toolchain.local.bat 補上 PATH 即可。預設安裝位置是 C:\Program Files\LLVM。

  4. 關掉再重開命令提示字元(PATH 改動只對新視窗生效),確認:

    clang-cl --version

    應該印出 clang version ...。

build.bat 怎麼找到它

clangcl 車道與 Visual Studio 車道共用同一段:先用 vswhere 找到 Visual Studio 並呼叫 vcvarsall.bat(取得標頭與函式庫路徑),差別只在最後呼叫的 編譯器是 clang-cl.exe,它由 PATH 找。另外 build.bat 會替 clang-cl 明確指定 目標架構(x64 或 x86),因為它不像 cl.exe 會跟著環境走,忘了指定會編出錯誤架構的物件檔, 最後在連結階段以一堆看不出原因的「unresolved symbol」失敗。這些你不用管,只是 知道為什麼這條車道不能省略 Visual Studio。

LLVM 不在 PATH 上又不想改系統設定:在 plugins\hello_ic\toolchain.local.bat (複製自 toolchain.local.bat.sample)寫

set "PATH=C:\Program Files\LLVM\bin;%PATH%"

建置與驗證

在 plugins\hello_ic\ 的命令提示字元:

build.bat clangcl x64 release build.bat clangcl x86 release

成功時最後一行:

[ OK ] plugin built: plugins\hello_ic.dll (clangcl x64 release)

編完怎麼載進主程式,見步驟 1。

常見問題

clang-cl.exe was not found on PATH:LLVM 沒裝,或安裝時沒選加入 PATH, 或裝完沒重開命令提示字元。

Visual Studio 2022 with the C++ build tools was not found:這條車道也需要 Visual Studio 的 C++ 工具,見 Visual Studio 那一頁。

連結階段出現一大串 unresolved external symbol:自己改過 build.bat 並拿掉了目標架構旗標。 還原它。