[英]Makefile for c++ with one .o file and one .CPP file
我正在嘗試創建一個makefile以在linux上構建Windows c ++項目。 我必須在不同目錄中編譯.cpp,以使用對象創建一個庫.so。 為此,我創建了一個腳本來查找.cpp並將其放入文件中:
SOURCE= \
./Source/CHAINE.CPP\
./Source/CRACKCHN.CPP\
./Source/LISTEPTR.CPP\
現在我的makefile看起來像:(我知道我將不得不更改$(TARGET):$(OBJECT)規則,但是我認為那不是我的問題)
-include sources.mk
OBJECT = $(SOURCE:%.CPP=%.o)
#
$(TARGET) : $(OBJECT)
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
$(OBJECT) : $(SOURCE)
$(CC) $(CFLAG) $(PREPROC) -c $< -o $(OBJ_DIR)/$@ $(INCLUDE)
但是當我執行make命令時,所有對象都是使用第一個.CPP(此處為CHAINE.CPP)創建的:
g++ -Wall -D _MSC_VER -D _GPP -c Source/CHAINE.CPP -o ./Source/CHAINE.o
===
g++ -Wall -D _MSC_VER -D _GPP -c Source/CHAINE.CPP -o ./Source/CRACKCHN.o
===
g++ -Wall -D _MSC_VER -D _GPP -c Source/CHAINE.CPP -o ./Source/LISTEPTR.o
這是我第一次創建Makefile,如果有人有解決方案,我有很多問題要解決。
$(OBJECT)是所有對象的列表。 使用最后一條規則,您似乎想告訴Make如何從單個.cpp構建單個.o。 它應具有以下條件:
%.o: %.cpp
$(CC) $(CFLAG) $(PREPROC) -c $< -o $(OBJ_DIR)/$@ $(INCLUDE)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.