分页: 1 / 1

[问题]关于如何编译不同目录下的CPP文件

发表于 : 2008-07-03 10:56
weihuang
目前在学CPP,遇到一个问题。问题如下:
一个主程序有若干个函数,分别命名为:a1.cpp, a2.cpp, b1.cpp, b2.cpp, 对应头文件a1.h, a2.h, b1,h, b2.h 及主程序main.cpp。 并且所有文件都包含了a1.cpp中定义的数据结构,
a2.cpp中的函数被 b1,b2 调用,
b1,b2 独立;
main 只调用b2。

其中以a 开头的四个文件放在../test/a/ 下,其余文件放在 ../test/b/ 下,测试数据为在 ../test/data/data1, 那么这时候的Makefile 应该怎么写? 如下我写的Makefile
当前运行目录为: ../test/b$

代码: 全选

CXX = g++
CC = g++

CXXFLAG = -I ../a/
all:		main

a1.o:      ../a/a1.cpp ../a/a1.h
	$(CXX) $(CXXFLAG) -c ../a/a1.cpp

a2.o:      ../a/a2.cpp ../a/a2.h
	$(CXX) $(CXXFLAG) -c ../a/a2.cpp

b1.o:      b1.cpp b1.h ../a/a1.h ../a/a2.h

b2.o:      b2.cpp b2.h ../a/a1.h ../a/a2.h

main.o:    main.cpp b2.h ../a/a1.h

main:      main.o a1.o a2.o b1.o b2.o

run:	       all
	./main	<../data/data1

clean:
	rm -f *.o  core main
请高手帮我指出问题,因为我的编译器一直提示我找不到a1的数据类型。谢谢, 等我把这本书搞定了,好好的搞搞MAKE 和 bash script, 还有一个R。

发表于 : 2008-07-03 10:59
bones7456

发表于 : 2008-07-03 11:08
weihuang
。。。我这有权威的GNU Make 手册,我只是现在就急想知道。不过谢谢。我先搞定重要的先,这个后面再看,谢谢你的资料了。