ホームページ > バックエンド開発 > C++ > 単一ファイル プロジェクト用の単純な C メイクファイルを作成するにはどうすればよいですか?

単一ファイル プロジェクト用の単純な C メイクファイルを作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-08 03:48:10
オリジナル
985 人が閲覧しました

How to Create a Simple C   Makefile for a Single-File Project?

SIMPLE C Makefile の作成方法

問題:
管理する Makefile を作成する必要がありますC プロジェクトですが、その方法を教えられていません。プロジェクトは、/user/cse232/Examples/example32.sequence.cpp からクラスをインポートする単一ファイル a3driver.cpp で構成されます。

解決策:

1.基本 Makefile:

a3a.exe: a3driver.cpp example32.sequence.cpp
    g++ -g -o a3a.exe a3driver.cpp example32.sequence.cpp
ログイン後にコピー

この Makefile は、実行可能ファイル a3a.exe がソース ファイル a3driver.cpp および example32.sequence.cpp に依存することを示しています。実行すると、プログラムを実行可能ファイルにコンパイルするコマンドが実行されます。

2.組み込みルールの使用:

CC=g++
CPPFLAGS=-g

a3a.exe: a3driver.o example32.sequence.o
    $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o

a3driver.o: a3driver.cpp
    $(CC) $(CPPFLAGS) -c a3driver.cpp

example32.sequence.o: example32.sequence.cpp
    $(CC) $(CPPFLAGS) -c example32.sequence.cpp
ログイン後にコピー

この Makefile は組み込みルールを利用してコンパイル コマンドを簡素化します。 CC 変数を C コンパイラとして定義し、CPPFLAGS 変数を共通のコンパイル フラグで定義します。依存関係は引き続き明示的に定義されていますが、コンパイル コマンドは自動的に生成されます。

3.自動生成された依存関係の使用:

CC=g++
CPPFLAGS=-g

a3a.exe: a3driver.o example32.sequence.o
    $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o

depend: .depend

.depend: $(SRCS)
    $(CC) $(CPPFLAGS) -MM $^ > .depend;

.PHONY: clean

clean:
    rm -f a3driver.o example32.sequence.o .depend

include .depend
ログイン後にコピー

この Makefile は、組み込みの -MM フラグを使用して依存関係を自動的に生成します。依存ターゲットは、依存関係を含むファイル .depend を生成するコマンドを実行します。 .PHONY: clean ターゲットは、実際にはファイルやルールではない特別なターゲットです。クリーンなターゲットは、オブジェクト ファイルと .depend ファイルを削除します。

以上が単一ファイル プロジェクト用の単純な C メイクファイルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート