2017-04-12 13 views
1

私が行った研究から、問題はclangと思われる。その場合、Macでこれをどのように修正すればよいですか? Ubuntu/Linuxへの切り替えはより良い選択でしょうか?コンパイル時に引数が使用されていませんか?

私の教授はg ++を使ってCの構文を使ってコードを作成し、C++に潜入する前にファイルを '.cpp'として保存しています。

警告:

打ち鳴らす警告:コンパイル中に未使用の引数: '-ansi' [-Wunused-コマンドライン引数]

のMakefile:

CC = g++ 

calendar: main.o calendar.o appt.o day.o time.o 
    $(CC) main.o calendar.o appt.o day.o time.o -g -ansi -Wall -o calendar.out 

%.o: %.cpp 
    $(CC) -Wall -c $< 

答えて

0

あなたはこのことが正しいと信じていますこれらの の状況でclang ++によって発行され、g ++ではなく、g++が のclang++であるため、Macで表示されます。

GCCオプション-ansiは、コンパイルには意味があり、意味はありません リンケージ用です。あなたのリンケージレシピでそれを渡しているので、打ち鳴らすには警告です:

それはあなたのコンパイルのレシピに渡す無効、およびない
$(CC) main.o calendar.o appt.o day.o time.o -g -ansi -Wall -o calendar.out 

$(CC) -Wall -c $< 

診断の文言が誤解を招くので、ここでは によって正確にの不在の編集が誘発されます。それにもかかわらず、 はあなたの間違いに注意を引きます。リンケージレシピから-ansiを削除し、編集レシピに追加します。

関連する問題