source

makefile의 CXX 값은 어디에서 얻을 수 있습니까?

goodcode 2022. 8. 11. 22:19
반응형

makefile의 CXX 값은 어디에서 얻을 수 있습니까?

코드 조각:

target_test : test.cc 
    $(CXX) $(CPPFLAGS) $(CFLAGS) test.cc

나는 그것을 알고 있습니다.CXX변수(호출하는 컴파일러 명령 포함)인데, 이 변수가 어디서 왔는지 궁금했습니다.변수는 makefile에 정의되어 있지 않으며 환경변수도 아닙니다.그 가치가 어디에 있는지 설명해 주실 수 있나요?CXX어디서 왔지?

Make에는 다음과 같은 몇 가지 사전 정의된 변수가 있습니다.CC. 처음에 이 설정은 다음과 같습니다.cc이것은 설치된 C 컴파일러에 대한 심볼 링크입니다.

$ readlink -f `which cc`
/usr/bin/gcc-4.6

기타:

$ readlink -f `which c++`
/usr/bin/g++-4.6

원한다면 변경할 수 있습니다.

사용할 수 있습니다.make -p -f /dev/null모든 암묵적인 규칙 및 변수 목록을 가져옵니다.비표준 설치로 출력이 영어로 되어 있지 않기 때문에 현재 출력을 표시할 수 없습니다.

CXX는 GNU make의 암묵 변수입니다.다른 사람들도 있어요.

뿐만 아니라 이러한 암묵적 변수는 암묵적 규칙에서 사용됩니다.

다음으로 암묵적인 규칙에 의해 CXX가 사용되는 방법에 관한 발췌를 나타냅니다.

C++ 프로그램 컴파일
n.o에서 자동으로 생성됩니다.n.cc,n.cpp, 또는n.C그 형식의 레시피를 사용하여
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c.
C++ 소스 파일에는 .cc라는 접미사를 사용하는 것이 좋습니다.C'입니다.

그 가치가 어디에 있는지 설명해 주실 수 있나요?CXX어디서 왔지?

다른 '매직' 변종과 마찬가지로 (LD,RM,MAKE제조사별로 사전에 정의되어 있습니다.

이것은 사용자가 덮어쓸 수 있고 기본값으로 사용할 수 있는 변수입니다.g++(적어도 GNU Make 버전에서는).더 이상 아무것도 아닙니다(일부 파일 등에 정의되어 있지 않습니다.

출처: GNU 제조 매뉴얼

언급URL : https://stackoverflow.com/questions/11394659/where-does-the-value-of-cxx-in-a-makefile-come-from

반응형