10

他のライブラリ ファイルを使用してライブラリ ファイルをコンパイルしようとしています。makefile で次の行を使用して、gameobject.o を作成しています。

lib/gameobject.o: src/gameobject.cpp src/vector.hpp lib/objectevent.o lib/sprite.o
g++ $^ -c -o $@ $(SFML_FLAGS)

すべての依存関係は正しくコンパイルされますが、gameobject.o をコンパイルしようとすると次のエラーが発生します。

g++: fatal error: cannot specify -o with -c, -S or -E with multiple files

私はまだ make/separating コンパイルを使用することに少し慣れていないので、何をすべきかよくわかりません。出力を設定せずにコンパイルする必要がありますか? 他の .o ファイルを使用せずに gameobject.o をコンパイルする必要がありますか? それが本当なら、ライブラリを他のライブラリでコンパイルできない場合、大きなオブジェクトのコンパイル時間はかなり長くなりませんか? それとも、このエラーを完全に間違って読んでいるだけですか?

4

2 に答える 2