我正在嘗試構建鏗鏘聲,但是構建大小相當大。由於clang支持非C族語言(例如Java,Fortran),有沒有辦法在構建期間關閉它。我只想要支持C和C++,而不關心其他語言。只爲幾種語言構建鏗鏘聲前端(比如C和C++)
是否有一個CMake選項需要設置來做到這一點?
非常感謝!
最好的問候, 尼蒂什
我正在嘗試構建鏗鏘聲,但是構建大小相當大。由於clang支持非C族語言(例如Java,Fortran),有沒有辦法在構建期間關閉它。我只想要支持C和C++,而不關心其他語言。只爲幾種語言構建鏗鏘聲前端(比如C和C++)
是否有一個CMake選項需要設置來做到這一點?
非常感謝!
最好的問候, 尼蒂什
答案很簡單:鐺是C/C++前端,它不支持也不Java和Fortran語言,因此也就不存在這樣的選擇 - 沒有什麼可以關閉。
正如其他人評論說,鐺是C/C++前只有結束,而且也沒有Java/Fortran的前端禁用。
然而,還有其他的方法來減少鐺建築面積:
選擇合適的構建配置
爲LLVM /鐺默認的內部配置是Debug
。構建Debug
(不指定構建配置)的結果與巨大的可執行文件,生成文件夾可能需要> 20GB。這主要是由於調試信息。
如果你不發展鐺,並且不需要調試信息,您可以建立MinSizeRel
,這是對大小進行了優化的發佈版本。
扭捏構建設置
如果您打算調試鐺或做光鐺的研究與開發,另一種選擇是用最少的調試信息建築 - -gmlt
選項保持線調試信息,僅允許源步進,並且與完整的調試信息(-g
)相比,結果更加緊湊的目標文件。
禁用構建組件
您可以禁止從建築的一些組件,如測試和實施例:
-DLLVM_INCLUDE_TESTS=Off -DLLVM_INCLUDE_EXAMPLES=Off
將其組合在一起:
cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_INCLUDE_TESTS=Off -DLLVM_INCLUDE_EXAMPLES=Off
對於緊湊型調試版本:
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS=-gmlt -DLLVM_INCLUDE_TESTS=Off -DLLVM_INCLUDE_EXAMPLES=Off
希望這有助於!
Clang不支持Fortran或Java。你不用gcc來混淆它嗎? – arrowd