CMake와 같은 빌드 시스템에서 어떤 컴파일러가 선택되는지에 영향을 미치는 방법

CMake와 같은 빌드 시스템에서 어떤 컴파일러가 선택되는지에 영향을 미치는 방법

저는 Archx64에서 bspwm을 WM으로 사용하고 있습니다. gcc와 clang을 설치하고 최신 버전으로 업데이트했습니다. 나는 빌드 시스템이 컴파일을 위해 g++를 선택할지 clang++를 선택할지 매번 묻기를 원합니다.

내 작업의 기본 컴파일러로 clang++가 필요하지만 일반적으로 컴파일러 자체를 선택하는 cmake가 있습니다. 그래서 clang CCXXclang++로 내보냈습니다 .bashrc. 모든 것이 예상대로 잘 작동하지만, /usr/bin/c++g++로 무언가를 컴파일해야 하고 프로그램이 g++ 대신 clang++를 찾아서 찾을 때 문제가 발생합니다. 프로그램이 해당 항목을 컴파일하려고 할 때마다 어떤 컴파일러를 사용할지 미리 물어볼 수 있어야 합니다. 가능합니까?

나의 현재 접근 방식은 매번 내 컴퓨터를 내보내고 다시 시작하는 것입니다. p 이것은 매우 어리석은 일입니다.

답변1

실제로 보편적인 대답은 없습니다. 도구가 도구 사용을 고집한다면 도구는 그렇게 할 것입니다.

환경 변수 설정이 효과가 있으면 재부팅할 필요가 없습니다. 다음과 같이 간단하게 명령을 호출할 수 있습니다.

CXX=g++ cmake ...

그러면 cmake가 실행되고 CXX 환경 변수가 g++로 설정됩니다.


정말로 원하는 작업을 수행하려면 /usr/bin/c++필요한 컴파일러(또는 도구에 필요한 모든 명령)가 필요한 쉘 스크립트 대체를 통해 그렇게 한 다음 해당 컴파일러를 호출할 수 있습니다. - 하지만 그 길을 가기로 결정했다면, 자신이 무엇을 하고 있는지 확실히 알아두세요.

관련 정보