当前位置:  技术问答>linux和unix

请教一个关于Makefile的问题

    来源: 互联网  发布时间:2016-09-30

    本文导语:  我编写了一个Makefile,内容如下: CC = gcc CFLAGS = -Wall -g -O0 #-D_DEBUG  RM = /bin/rm -f DEMON_SRC = test.o amazons3.o request.o xml_parser.o md5.o general.o util.o all: demon demon: $(DEMON_SRC) $(CC) -o demon  $(DEMON_SRC)  test.o: test....

我编写了一个Makefile,内容如下:
CC = gcc
CFLAGS = -Wall -g -O0 #-D_DEBUG 

RM = /bin/rm -f

DEMON_SRC = test.o amazons3.o request.o xml_parser.o md5.o general.o util.o
all: demon

demon: $(DEMON_SRC)
$(CC) -o demon  $(DEMON_SRC) 

test.o: test.c amazons3.h 
$(CC) -c test.c 

amazons3.o: amazons3.c amazons3.h  xml_parser.h request.h
$(CC) -c amazons3.c

request.o: request.c request.h md5.h general.h util.h
$(CC) -c request.c 

xml_parser.o: xml_parser.c xml_parser.h general.h
$(CC) -c xml_parser.c -I/usr/include/libxml2 -lxml2

md5.o: md5.c md5.h
$(CC) -c md5.c -lm

general.o: general.c general.h
$(CC) -c general.c

util.o: util.c util.h
$(CC) -c util.c -lcurl


clean:
$(RM) demon  *.o


可是当我执行make时总是报下面的错误:
gcc -c test.c 
在包含自 amazons3.h:5 的文件中,
                 从 test.c:3:
xml_parser.h:10:27: 错误:libxml/parser.h:没有那个文件或目录
xml_parser.h:11:30: 错误:libxml/xmlmemory.h:没有那个文件或目录
make: *** [test.o] 错误 1

     大家能帮我看看问题处在哪里吗?

|
楼主可以试试俺的模板,啥的不用改就可以用的。

#
# Makefile for program hello
#

program := hello

sources := $(wildcard *.c)
headers := $(wildcard *.h)

objects := $(sources:.c=.o)
deps    := $(sources:.c=.d)

CC      := gcc
SHARED  := -shared
FPIC    :=
CFLAGS  := $(FPIC) -MMD 
           -I/usr/include/libxml2
LDFLAGS := -L/usr/lib -lxml2 -lm

RM      := rm -f
TAR     := tar
GZIP    := gzip

me      := Makefile

all:    $(program)

hello:  $(objects)
        $(CC) -o $@ $(CFLAGS) $(objects) $(LDFLAGS) $(LDLIBS)

dist:
        pkg=`pwd`; tar cvf - $(me) $(sources) $(headers) 
                | $(GZIP) -c > `basename $${pkg}`.tar.gz
clean:
        $(RM) $(objects)
        $(RM) $(deps)
        $(RM) $(shlib)

-include $(deps)

|
楼上都给你指出了
test.o: test.c amazons3.h 
    $(CC) -I/usr/include/libxml2 -c test.c

其它几个.o估计也需要
可以直接修改CC,如CC=gcc -I/usr/include/libxml2
这样下面编译每个.o的地方应该就不用加-I/usr..了

|
编译xml_parser.o加上了-I/usr/include/libxml2 -lxml2 跟
编译test.o没有半点关系,

编译test.o时,只找它对应的依赖test.c amazons3.h ,

建议
CC=gcc
CFLAGS= -Wall -g -c
INCLUDE=-I/usr/include/libxml2 

$(CC) $(CFLAGS) $(INCLUDE)

|
test.o: test.c amazons3.h 
    $(CC) -c test.c 
这里就没有加嘛


|
$(RM) $(shlib)
===>
$(RM) $(program)

    
 
 

您可能感兴趣的文章:

  • 请教根据Makefile.am自动生成Makefile的问题
  • 请教一个简单makefile的写法
  • 请教点的Makefile文件语法?
  • 请教一个makefile的问题?
  • 请教Makefile文件编写
  • 请教makefile的使用方法。
  • 请教下,各位作MakeFile时用Automake这个工具么
  • 急切请教一个关于makefile的问题,万分感谢。
  • 请教makefile中的 ifeq else default
  • 我是初学,请教大家gdb,dbx,makefile,cc的用法.
  • makefile请教!
  • 请教makefile中的一个规则
  • 请教,Makefile目标文件要通配目录下所有C文件,如何写?
  • 100分请教高手一个Makefile的小问题
  • 请教关于makefile的问题,该怎么写?
  • 请教makefile问题
  • 请教makefile文件编写问题
  • MAKEFILE自动生成依赖关系问题请教
  • 请教:linux unix 下makefile的问题
  • 高分请教:下面的makefile是什么意思?
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • 请教,请教,这个问题是为什么????
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教一个函数入口处的汇编问题(压栈问题)
  • 请教!出现这个提示是什么原因..是模块版本问题,还是其他问题..http://220.114.102.28/xitong/ProductShow.asp?ArticleID=82
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 请教一个opengl的问题
  • 请教两个redhat9问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教这种循环的执行过程
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教两个shell
  • 请教高手:如何用gnome/gtk编写托盘程序
  • 菜鸟请教Linux
  • 请教semop()函数的用法、含义
  • 请教个,关于C编译器参数CFLAGS的问题(真诚请教,分不够了全部送出)
  • 请问如何在Redhat7.1下安装Ftp服务,如何开启Ftp帐号????请教!!!急急急急急急
  • Think in java 问题。(请教)
  • 请教下我的eth0为什么设置后重启会失败?
  • 请教:$PWD 这个东西是什么意思啊?谢谢!
  • 请教高手AIX中怎么删除行尾的字符^M


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3