0

非常に多くのオブジェクト ファイル (.o) を生成する Makefile があります。それらを1つのディレクトリにリダイレクトして、このディレクトリから実行可能ファイルを作成するにはどうすればよいですか?

 Makefile format :

 x.o = x.hpp x.cpp
      g++ -c x.cpp
4

3 に答える 3

2

まあ、それは簡単なようです:

app: bin/x.o
    g++ bin/x.o -obin/x

bin/x.o: x.cpp
    g++ -c x.cpp -obin/x.o

bin ディレクトリを作成する必要がありますが、それを Makefile に簡単に追加することもできます。お役に立てれば。

于 2012-10-24T08:37:26.980 に答える
1

g++のオプションを確認してください-o。オブジェクト ファイルのみを作成する場合にも機能するはずです。

g++ -c x.cpp -o objdir/x.o
于 2012-10-24T08:37:04.330 に答える
0

次のようなルールを使用します。

%.o: %.cpp $(HPP_FILES) Makefile
        $(CC) $(CC_FLAGS) -c -o directory/$@ $<

次に、次のようなものを使用してそこにあるすべてのファイルをリンクします。

my_binary: $(OBJ_FILES)
        $(CC) $(LD_FLAGS) -o $@ directory/$(OBJ_FILES)

HPP_FILES := x.hpp y.hpp などの単純な割り当てを使用して、OBJ_FILES、HPP_FILES を定義できます。

于 2012-10-24T08:37:28.123 に答える