只为几种语言构建铿锵声前端(比如C和C++)
我正在尝试构建铿锵声,但是构建大小相当大。由于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