0

main.cpp (main 関数を含む) と func1.cpp があり、これらのファイルを makefile にリンクしたいと考えています。古典的な形式は次のとおりです。

main: main.o func1.o
    g++ main.o func1.o -o main
main.o: main.cpp
    g++ -c main.cpp
func1.o: func1.cpp
    g++ -c func1.cpp

または書くことができます

main: func1.o main.o 
    g++ main.o func1.o -o main
func1.o: func1.cpp
    g++ -c func1.cpp
main.o: main.cpp
    g++ -c main.cpp

また

main: main.o func1.o
    g++ main.o func1.o -o main
func1.o: func1.cpp
    g++ -c func1.cpp
main.o: main.cpp
    g++ -c main.cpp

最後の 2 つは従来のものと異なりますか? 一方には他方よりもいくつかの利点がありますか?

4

2 に答える 2

0

3セットのルールに違いはありません。ただし、ファイルをオブジェクトファイルにmakeビルドする方法を知っている.cppので、本当に必要なのは次のとおりです。

main: main.o func1.o
        g++ main.o func1.o -o $@
于 2012-04-05T14:38:48.813 に答える
0

いいえ、ルールの順序が適用されるのは、 を入力したときだけmakeです。この場合、最初のルールをデフォルトとして選択できます。

それを超えて、makeファイル内のどこにあるかに関係なく、従属ルールを実行するのに十分なほどインテリジェントです。

于 2012-04-05T13:21:02.987 に答える