Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
「unrecongizedoption」で死ぬ代わりに、gccに無効なオプションを無視させる方法はありますか?理由は、gccの新しいバージョン(-static-libstdc ++)でのみ使用可能なオプションを使用したいのですが、古いコンパイラでもコンパイルする必要があります。makefileでgccバージョンを確認できましたが、少し醜いです。
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)