LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2313|回复: 4

makefile中用VPATH 搜索不到文件,何故?

[复制链接]
发表于 2006-4-26 22:26:05 | 显示全部楼层 |阅读模式
在luming目录下有如下文件:
main.c     tools1.h     toosl2.h     tools1.c      tools2.c     makefile

makefile 内容:

obj = main.o tools1.o tools2.o
main(obj)
        gcc -o main $(obj)

main.o:tools1.h tools2.h
tools1.o:tools1.h
tools2.o:tools2.h

.PHONY :clean
clean:
        rm main $(obj)

这样我输入 make 能正确编译执行。

然后我在luming目录下再新建一个head目录,把toosl1.h放到head目录下,相应修改makefile文件:

VPATH = head
obj = main.o tools1.o tools2.o
main(obj)
        gcc -o main $(obj)

main.o:tools1.h tools2.h
tools1.o:tools1.h
tools2.o:tools2.h

.PHONY :clean
clean:
        rm main $(obj)

这样编译通不过,系统提示找不到tools1.h,用vpath也是一样。

何故,请多多指教!谢谢!
发表于 2006-4-26 23:05:15 | 显示全部楼层
gcc -o main $(obj)
改成:
gcc -I./head -o main $(obj)
回复 支持 反对

使用道具 举报

发表于 2006-4-26 23:06:27 | 显示全部楼层
写成vpath %.h head试试
回复 支持 反对

使用道具 举报

发表于 2006-4-26 23:09:16 | 显示全部楼层
Post by biinn
gcc -o main $(obj)
改成:
gcc -I./head -o main $(obj)

应该是这哥们说的原因,是源文件中的include找不到.h文件而不是make找不到
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-27 10:03:15 | 显示全部楼层
谢谢,是这样的,我以为用VPATH设置了路径搜索之后,下面就不用设定了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表