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 버전에서는).더 이상 아무것도 아닙니다(일부 파일 등에 정의되어 있지 않습니다.
언급URL : https://stackoverflow.com/questions/11394659/where-does-the-value-of-cxx-in-a-makefile-come-from
'source' 카테고리의 다른 글
Java에서 ==를 사용하여 플로트를 비교하는 것이 잘못된 점은 무엇입니까? (0) | 2022.08.11 |
---|---|
C의 부울 값 사용 (0) | 2022.08.11 |
Nuxt/Vue 반응체 속성 (0) | 2022.08.11 |
vue-cli 설정 중 문제 발생 (0) | 2022.08.11 |
[N...]이란?C 집약 이니셜라이저의 M > 평균? (0) | 2022.08.11 |