0

現在、2つの異なるマシンで開発しています。1 つgccは gcc 4.6 にマップされておりgcc3、本当に古いバージョンの gcc が必要な人向けのマップがあります。他のマシンgccでは v3 gcc にマップされgcc4、新しいコンパイラを呼び出すコマンドがあります。

問題は明らかです。両方のマシンに単一のメイクファイルが必要です。これは、基本的に、見つかるCCかどうかに応じて定義することを意味します。gcc4

4

1 に答える 1

1

簡単なハックとして、makefile 内の gcc4 ビンの単純なシェル ベースのチェックを追加できます。例えば:

CC := $(shell gcc4 -dumpversion >/dev/null 2>&1; if [ "$$?" -eq 0 ]; then echo "gcc4"; else echo "gcc"; fi)
<...>
$(CC) -c myprogram.c -o myprogram.o
<...>

ただし、より成熟したプロジェクトでは、そのようなタスク用に設計されたツール ( autoconf )を検討することをお勧めします。

于 2013-01-29T12:24:06.580 に答える