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にエクスポート変数はありません。このような場合、変数のエクスポートはそれほど重要ではありません。

関連情報