CMAKE_<LANG>_HOST_COMPILER

3.10 版本新增:CMAKE_CUDA_HOST_COMPILER

3.28 版本新增:CMAKE_HIP_HOST_COMPILER

<LANG>CUDAHIP 時,此變數可用。

CMAKE_<LANG>_COMPILER_IDNVIDIA 時,CMAKE_<LANG>_HOST_COMPILER 會選取編譯器執行檔,以便在編譯 CUDAHIP 語言檔案時使用。這會對應到 nvcc -ccbin 選項。

CMAKE_<LANG>_HOST_COMPILER 變數可以在首次透過 project()enable_language() 命令啟用 CUDA 或 HIP 之前明確設定。這可以透過命令列上的 -DCMAKE_<LANG>_HOST_COMPILER=... 或在 工具鏈檔案 中完成。或者,可以設定 CUDAHOSTCXXHIPHOSTCXX 環境變數以提供預設值。

一旦啟用 CUDA 或 HIP 語言,CMAKE_<LANG>_HOST_COMPILER 變數即為唯讀,對其進行變更為未定義行為。

注意

由於 CMAKE_<LANG>_HOST_COMPILER 僅在 CMAKE_<LANG>_COMPILER_IDNVIDIA 時才有意義,因此在未同時將 CMAKE_<LANG>_COMPILER 設定為 NVCC 的情況下設定 CMAKE_<LANG>_HOST_COMPILER 是沒有意義的。

注意

專案不應嘗試自行設定 CMAKE_<LANG>_HOST_COMPILER 以符合 CMAKE_CXX_COMPILER。確保 NVCC 的目標 ABI 與 C++ 編譯器相同是終端使用者的責任,而不是專案的責任。

注意

使用 Visual Studio 產生器 時會被忽略。

請參閱 CMAKE_<LANG>_HOST_COMPILER_IDCMAKE_<LANG>_HOST_COMPILER_VERSION 變數,以取得關於 nvcc 所使用的主機編譯器資訊,無論是預設或由 CMAKE_<LANG>_HOST_COMPILER 指定。