」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > ## 如何在單一 CMake 專案中使用多個 C++ 編譯器?

## 如何在單一 CMake 專案中使用多個 C++ 編譯器?

發佈於2024-11-08
瀏覽:681

## How Can I Use Multiple Compilers for C   in a Single CMake Project?

CMake:為單一語言導航多個編譯器

CMake 遵循為一個文件中的所有C 原始檔分配單一CMAKE_CXX_COMPILER 的原則CMakeLists.txt 檔案。當嘗試在單一 CMakeLists.txt 檔案中組合主機編譯和交叉編譯時,這種方法會帶來挑戰。

困境:同一語言的多個編譯器

根據最初的問題,問題的關鍵在於找到一種解決方案,以針對同一語言(特別是C )使用多個編譯器。

妥協:有限選項

不幸的是,CMake的設計並不能輕易滿足這項要求。 CMake 維護一組適用於 CMakeLists.txt 檔案中所有目標的編譯器屬性。因此,要使用多個編譯器,有必要執行 CMake 兩次。

替代方案:自訂命令或單獨檔案

一種解決方法涉及使用自訂命令,本質上是創建美化的 shell 腳本。然而,這種方法偏離了預期的目標。

更乾淨的解決方案需要將編譯過程分離到不同的 CMakeLists.txt 檔案中。雖然它阻止了不同架構之間的鏈接,但它消除了對冗餘程式碼的需求。為了保持一致性,CMake 腳本的公共部分可以提取到單獨的檔案中,並透過 include() 函數包含。

缺點:方便複雜性

主要這種方法的缺點是失去了單命令編譯的能力。為了緩解這種情況,可以使用首選腳本語言建立包裝器腳本來呼叫必要的 CMake 命令。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3