我想创建一个makefile来在linux上构建一个windows C++项目。我必须在不同的目录下编译.cpp,以便用这些对象创建一个库.so。 对于我创建了一个脚本,找到的.cpp,并把它放在一个文件:Makefile为一个.o文件和一个.CPP文件的C++
SOURCE= \
./Source/CHAINE.CPP\
./Source/CRACKCHN.CPP\
./Source/LISTEPTR.CPP\
现在我生成文件看起来像:(我知道我将不得不改变$(TARGET):$(OBJECT )规则,但是那不是我这里的问题,我认为)
-include sources.mk
OBJECT = $(SOURCE:%.CPP=%.o)
#
$(TARGET) : $(OBJECT)
$(CC) $(CFLAGS) -o [email protected] $^ $(LIBS)
$(OBJECT) : $(SOURCE)
$(CC) $(CFLAG) $(PREPROC) -c $< -o $(OBJ_DIR)/[email protected] $(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,如果有人有解决方案,我还有很多问题需要解决?
2014-09-25
johan
+0
你想要一个'.cpp.o:'规则,而不是明确规定你想从一个源文件创建所有目标文件的规则。 –
2014-09-25 08:08:41
+0
请查看[CMake](http://www.cmake.org/)了解这些跨平台项目。 –
2014-09-25 15:12:52