只为几种语言构建铿锵声前端(比如C和C++)

问题描述:

我正在尝试构建铿锵声,但是构建大小相当大。由于clang支持非C族语言(例如Java,Fortran),有没有办法在构建期间关闭它。我只想要支持C和C++,而不关心其他语言。只为几种语言构建铿锵声前端(比如C和C++)

是否有一个CMake选项需要设置来做到这一点?

非常感谢!

最好的问候, 尼蒂什

+1

Clang不支持Fortran或Java。你不用gcc来混淆它吗? – arrowd

答案很简单:铛是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

希望这有助于!