2017-09-22 7 views
0

빌드 크기가 상당히 클 수 있지만 clang을 빌드하려고합니다. clang은 비 C 계열 언어 (예 : Java, Fortran)도 지원하므로 빌드 중에이를 해제 할 수있는 방법이 있습니다. C 및 C++에 대한 지원을 원하고 다른 언어는 신경 쓰지 않습니다.몇 가지 언어에 대해서만 clang 프론트 엔드를 구축하십시오 (예 : C 및 C++)

CMake 옵션을 설정해야합니까?

고맙습니다.

최고 감사합니다, Nitish

+1

Clang은 Fortran 또는 Java를 지원하지 않습니다. gcc와 혼동하지 않습니까? – arrowd

답변

0

는 대답은 간단합니다 : 그 소리는 C는/C++ 프론트 엔드는 자바 나 포트란도를 지원하지 않는 것입니다, 그러므로 그러한 옵션이 없습니다 - 해제 아무것도 없다.

0

다른 사람들도 언급했듯이 clang은 C/C++ 프런트 엔드 전용이며 사용하지 않도록 설정할 Java/Fortran 프런트 엔드는 없습니다. LLVM/연타의 기본 빌드 구성은 Debug입니다 적절한 빌드 구성

을 선택

  • :

    그러나, 다른 사람의 그 소리 빌드의 크기를 줄일 수있는 방법이 있습니다. Debug (빌드 구성을 지정하지 않음) 빌드는 거대한 실행 파일이 포함 된 결과이며 빌드 폴더는 20GB를 초과 할 수 있습니다. 주로 디버그 정보 때문입니다.

    clang을 개발하지 않고 디버그 정보가 필요하지 않은 경우 크기에 최적화 된 릴리스 빌드 인 MinSizeRel을 빌드 할 수 있습니다. 디버그 그 소리에 계획 또는 빛 연타의 developement에 작업을 수행하는 경우

  • 꼬집는 빌드 설정

    가, 또 다른 옵션은 최소한의 디버그 정보를 구축하는 경우 - -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

    희망!