como alterar o comando CC padrão no mac os?

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

Eu uso o script para alterar o comando CC padrão, mas não funciona para mim no Mac.

imprimir:

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

onde é minha culpa?

    
por belle tian 28.07.2016 / 09:51

1 resposta

4

No seu exemplo

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

a última linha usa o literal nome CC (que é convencionalmente um compilador C ++) em vez de uma variável shell $CC (que usaria a variável de ambiente que você exportou).

Talvez você quisesse dizer

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

Você também pode simplesmente tornar cc o de ndk_tools criando um link simbólico para esse (chamado "cc") no seu PATH , mas isso interferiria no uso nativo do compilador. Então variáveis de ambiente (e uso seletivo) é o caminho a percorrer.

Em um makefile, você usaria esse símbolo com parênteses ou chaves, por exemplo, $(CC) ou ${CC} . Sem as chaves, make veria $C C , que não é o que você deseja. Você pode definir a variável no makefile de várias maneiras, por exemplo,

make CC="$CC"
make -e

Na maioria das vezes, eu estaria usando o valor diretamente no makefile, devido ao uso de construções baseadas em autoconf ou imake. Para esses casos, exportar a variável seria menos importante.

    
por 28.07.2016 / 10:08