2016-10-04 11 views
0

gcc(g ++と同じ)バージョンが2つインストールされています。新しいものがデフォルトのものです:シェルのmake用GCCバージョンを設定します

私のmakeコマンドでは、gcc-4.4/g ++ - 4.4を使いたいです。

私はこれらの3 variantesを試してみたが、どれも動いていないようにみえ:

export CC="gcc-4.4" 
export CPP="g++-4.4" 

export CC=/usr/bin/gcc-4.4 
export CPP=/usr/bin/g++-4.4 

export gcc=/usr/bin/gcc-4.4 
export g++=/usr/bin/g++-4.4 

Makefileは定義されています。

# Compiler Options 
CC  = gcc 
CPP  = g++ 
LD  = g++ 

のMakefileが使用するコンパイラはまだ4.9.2です。 4.4.7はどのように使用できますか?

答えて

4

GNU Make manual, 6.10 Variables from the Environmentmake

変数はmakeが実行される環境から来ることができます。 makeが起動するときに見えるすべての環境変数は、同じ名前と値を持つmake変数に変換されます。ただし、は、makefile内の明示的な割り当てまたはコマンド引数を使用して、環境をオーバーライドします。 (-eフラグが指定されている場合は、メイクファイルで環境オーバーライドの割り当てから値しかし、これは練習をお勧めしません。)

お勧めはmakeコマンドラインでこれらの変数を渡すことです:

$ make CC=gcc-4.4 CPP=g++-4.4 CXX=g++-4.4 LD=g++-4.4 

サイドノートはCPPは、前処理のためのものであるのに対しCXXは、C++コードをコンパイルするために使用されることです。 makefileの作成者がCPPCXXを混同しているか、またはmakefileが実際に依存関係を生成するためにCPPを使用しています。これは過去10年ほどは不要でした。詳細はthisを参照してください。

関連する問題