makefile mysql_makefile错误----> make:***没有规则来制作目标`mysql.h'

这可能听起来像一个愚蠢的问题。但是在这里.....我正在使用一个名为db_access.c的C程序,它与MySQL交互(在Ubuntu 10.10中与MySQL服务器版本5.1.49-1ubuntu8.1(Ubuntu))。在程序内部,我有:include "mysql.h"

当我做下面的事时,一切正常:

gcc -I/usr/include/mysql db_access.c -lmysqlclient -o db_access

./db_access当我尝试将它集成到一个现有的(和正在运行的makefile)时出现问题。 makefile的内容:

all: MappingServer

#Macro definitions

CC = gcc

CFLAGS = -lm

INCLUDES = -I/usr/include/mysql

LIBS = -L/usr/lib/mysql -lmysqlclient

MappingServer.o: MappingServer.c map_registration.h

$(CC) $(CFLAGS) -c MappingServer.c

route_aggregation.o: route_aggregation.c map_registration.h

$(CC) $(CFLAGS) -c route_aggregation.c

db_access.o: db_access.c map_registration.h mysql.h

$(CC) $(CFLAGS) $(INCLUDES) -c db_access.c

MappingServer: MappingServer.o route_aggregation.o db_access.o

$(CC) $(LIBS) -o MappingServer MappingServer.o route_aggregation.o db_access.o

clean:

-rm MappingServer.o route_aggregation.o db_access.o我有两个其他的C程序,MappingServer.c和route_aggregation.c。这3个文件需要一起编译。顺便说一句,我也做到了:

root@ahuq-kitchen:/home/ahuq/MappingServer# mysql_config --cflags

-I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX和

root@ahuq-kitchen:/home/ahuq/MappingServer# mysql_config --libs

-Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient所以我认为路径是可以的。当我这样做时:make all

我得到:

root@ahuq-kitchen:/home/ahuq/MappingServer# make all

gcc -lm -c MappingServer.c

gcc -lm -c route_aggregation.c

route_aggregation.c: In function ‘vtysh_input’:

route_aggregation.c:602: warning: function returns address of local variable

make: *** No rule to make target `mysql.h', needed by `db_access.o'. Stop.这是为什么发生?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值