Mac 운영 체제에서 기본 CC 명령을 변경하는 방법은 무엇입니까?

Mac 운영 체제에서 기본 CC 명령을 변경하는 방법은 무엇입니까?
export PATH=./ndk_tools/bin/:${PATH}
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
echo \
"$CC"
CC --version

이 스크립트를 사용하여 기본 CC 명령을 변경했지만 Mac에서는 작동하지 않습니다.

인쇄:

Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

내 잘못이 뭐예요?

답변1

귀하의 예에서

export PATH=./ndk_tools/bin/:${PATH}
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
echo \
"$CC"
CC --version

마지막 줄에는 텍스트가 사용됩니다.이름 CC(보통 C++ 컴파일러) 쉘 대신바꾸다 $CC(이것은 내보낸 환경 변수를 사용합니다).

아마도 당신 말은

export PATH=./ndk_tools/bin/:${PATH}
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
echo \
"$CC"
$CC --version

cc컴퓨터에서 링크에 대한 심볼릭 링크 ndk_tools("cc"라는 이름)를 생성하여 링크를 생성할 수도 있지만 PATH이렇게 하면 컴파일러의 기본 사용을 방해하게 됩니다. 따라서 환경 변수(및 선택적 사용)가 좋은 방법입니다.

$(CC)메이크파일에서는 또는 와 같은 괄호나 중괄호와 함께 이 기호를 사용할 수 있습니다 ${CC}. 중괄호가 없으면 make볼 수 있습니다.$CC,당신이 원하는 게 아닌가요? 다음과 같은 다양한 방법으로 makefile에 변수를 설정할 수 있습니다.

make CC="$CC"
make -e

대부분의 경우 값만 사용합니다.존재하다autoconf 또는 imake 기반 빌드를 사용하고 있으므로 makefile에 내보내기 변수가 없습니다. 이러한 경우 변수 내보내기는 덜 중요합니다.

관련 정보