5

「unrecongizedoption」で死ぬ代わりに、gccに無効なオプションを無視させる方法はありますか?理由は、gccの新しいバージョン(-static-libstdc ++)でのみ使用可能なオプションを使用したいのですが、古いコンパイラでもコンパイルする必要があります。makefileでgccバージョンを確認できましたが、少し醜いです。

4

2 に答える 2

1

gcc を実行して、フラグを受け入れるかどうかを確認できます。

STATIC_LIBCPP_FLAG := $(shell if gcc -static-libstdc++ --version 2>&1 | grep -q 'unrecognized option'; then true; else echo -static-libstdc++; fi)

CFLAGS += $(STATIC_LIBCPP_FLAG)
于 2013-05-01T21:06:37.303 に答える