- 论坛徽章:
- 0
|
我的源文件有:
dbop.h //数据库操作的头文件
dbop.pc //数据库操作的源文件,Pro*C
main.cpp //main函数,调用数据库操作函数
makefile文件内容如下:
NAME=main
PROC_FLAG=code=cpp ltype=none
CC_FLAG=-g -Wall -L ${ORACLE_HOME}/lib -l clntsh
OBJS = main.o \
dbop.o
$(NAME): $(OBJS)
g++ $(CC_FLAG) $(OBJS)
#生成规则
.cpp.o:
g++ $(CC_FLAG) -c $<
.pc.cpp:
proc $(PROC_FLAG) iname=$<
clean:
rm -f *.cpp |
编译的时候出现了这样的错误:
make: *** No rule to make target `dbop.o', needed by `main'. Stop.
下面有:
.pc.cpp
和
.cpp.o
来表明产生.o的规则
我感觉过程应该是这样的
找dbop.o,找不到,用.cpp.o规则来生成,所以找dbop.cpp,找不到,则用.pc.cpp规则来生成,找到了dbop.pc
然后依次生成,最后可以生成dbop.o文件的呀
但实际情况却出错了
我现在初学,不知道哪儿出错了?
非常感谢! |
|