私は現在C++を勉強しています。現在のディレクトリにあるすべてのcppファイルをコンパイルして実行ファイルを分割するmakefileが必要です。たとえば、:ディレクトリ内のすべてのcppファイルを個別の実行可能ファイルにコンパイルするMakefile
ディレクトリには3つの、C++ファイル、などexamp1.cpp、examp2.cppとexamp3.cppがあります。私は、コンパイルしてそれらをリンクしてexamp1.exeを与えるメイクをしたいとexamp3.exe
私はそれらのすべてをコンパイルし、EXEファイルを作成するために、bashスクリプトを作成しましたが、私は思うをexamp2.exe。それはこれを行う正確な方法ではありません。
".c"のMakefileがありますが、ここでは動作しません。オブジェクトファイルを作成するだけで、実際にはリンクされません。以下のようになります:
SRCS=$(wildcard *.c)
OBJS=(SRCS:.c=.o)
all: $(OBJS)
上記のコードは、現在のディレクトリに同じ名前を持つすべての新規および変更「.C」ファイルを「の.o」ファイルをコンパイルします。
次のように私は実行可能ファイルを作成するために使用していbashスクリプトは次のとおりです。
for i in ./*.cpp
do
g++ -Wno-deprecated $i -o `basename $i .cpp`".exe"
done
これは私が単純な 『作るすべて』か何かを使用することによって、そのディレクトリに置くものは何でも「.cppファイル」のファイルたい意味それはコンパイルする必要がありますように。
all: examp1.exe examp2.exe examp3.exe
あなたの三つのプログラムを作成するために、makeのデフォルトのルールを使用すること:
メイクファイルを作成しようとしましたか?もしそうなら、私たちはあなたを助けることができるように投稿します。開始するには[documentation](http://www.gnu.org/software/make/manual/make.html)があります。 – Joe
makeのバージョンは、サプライヤごとに異なります。あなたは何を使っていますか? LinuxでGNU Makeを使用していますか? Windows/Visual C++でのMicrosoft Make? –
* 1つの*ソースファイルをコンパイルして実行可能ファイルを生成するmakefileを作成しようとしましたか? – Beta