31

(私は Linux Ubuntu 9.10 を実行しているので、実行可能ファイルの拡張子は executablefile.out です) C でモジュラー プログラミング (複数のファイルを使用したプログラミング) を始めたばかりで、1 つの makefile で複数のファイルをコンパイルする方法を知りたいです。たとえば、main.c、dbAdapter.c、dbAdapter.h などのファイルをコンパイルするための makefile は何でしょうか? (ちなみに、まだわからない場合は、メイン関数は main.c にあります) また、誰かがメイクファイルのドキュメントへのリンクを投稿できますか?

4

2 に答える 2

40

投稿されたリンクはすべて良いです。あなたの特定のケースでは、これを試すことができます。基本的に、すべてのMakefileはこのパターンに従います。それ以外はすべてショートカットとマクロです。

program: main.o dbAdapter.o
   gcc -o program main.o dbAdapter.o

main.o: main.c dbAdapter.h
   gcc -c main.c

dbAdapter.o dbAdapter.c dbAdapter.h
   gcc -c dbAdapter.c

ここで重要なのは、Makefileがルールを順番に調べ、特定のアイテムが必要になったときにビルドすることです。

最初にプログラムを調べて、プログラムをビルドするには、main.oおよびdbAdapter.oと呼ばれるものが必要であることを確認します。

次に、main.oが見つかります。ただし、main.oをビルドするには、main.cとdbAdapter.hが必要です(dbAdapter.hはmain.cに含まれていると思います)。

これらのソースを使用して、gccを使用してコンパイルしてmain.oをビルドします。-cは、コンパイルするだけであることを示します。

dbAdapter.oでも同じことをします。これらの2つのオブジェクトファイルがある場合、それらをリンクする準備ができています。このステップでもgccコンパイラを使用します。-oは、programというファイルを作成していることを示します。

于 2010-04-09T01:54:18.333 に答える
0

GNU makeが探しているものです。

于 2010-04-09T00:43:54.280 に答える