0

だから、私はmakefileにまったく慣れていないので、コマンドプロンプトが苦手です。したがって、構文が正しいことを確認したいと思います。

私は3つのファイルを持っています:

main.cpp
Blob.cpp
Blob.h

makefile.make という名前のファイルを (メモ帳などで) 作成すると、次のようなテキストが表示されます。

all:
g++ main.cpp Blob.cpp Blob.h -o hello

次に、コマンドプロンプトで実行します

make

ファイルが作成されますか?これは正しいです?それらはすべて、VS2012 がそこに配置した他のいくつかのフォルダーと共に、同じディレクトリにあります。

4

3 に答える 3

1

これを試して

hello:main.cpp Blob.cpp
[TAB] g++ main.cpp Blob.cpp -o hello

Makefileまたはのように名前を付けmakefileます。makeビルドするためだけに実行できます。それ以外の場合は、好きな名前を付けてください。たとえばmymakefile、それrun make -f mymakefileを構築する

ベーシックでリフレッシュmakefile rules

于 2013-07-09T04:30:56.220 に答える
1

すべてのファイルが変更されたときに実行可能ファイルを再構築するだけの場合は、次を使用します

all: hello

hello: main.cpp Blob.cpp Blob.h
    g++ -o hello main.cpp Blob.cpp

個別のコンパイルが必要な場合は、

all: hello

hello: main.o Blob.o
    g++ -o hello main.o Blob.o

main.o: main.cpp Blob.h
    g++ -o main.o main.cpp

Blob.o: Blob.cpp Blob.h
    g++ -o Blob.o Blob.cpp

どちらの場合も、実行する作業を指定するだけでなく、どのファイルが依存関係にあるか (つまり、これらのファイルが変更された場合は再構築する必要がある) を make に伝えます。

于 2013-07-09T04:31:01.640 に答える
-1

Google の「makefile チュートリアル」で検索すると、たくさんのサイトが見つかります。

実行するコマンドの前にTab文字を付ける必要があるため、次のようにする必要があります。

all:
        g++ main.cpp Blob.cpp -o hello

Tab文字をスペースに変換するエディターを使用していないことを確認してください。

于 2013-07-09T04:23:05.390 に答える