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
볼 수 있습니다.$C
C
,당신이 원하는 게 아닌가요? 다음과 같은 다양한 방법으로 makefile에 변수를 설정할 수 있습니다.
make CC="$CC"
make -e
대부분의 경우 값만 사용합니다.존재하다autoconf 또는 imake 기반 빌드를 사용하고 있으므로 makefile에 내보내기 변수가 없습니다. 이러한 경우 변수 내보내기는 덜 중요합니다.