阅读:1814回复:6
有关makefile的问题!
在编写makefile文件中,给程序的头文件指定一个路径,如下:
INCLUDE= -I/usr/src/linux-2.4.18-3/include/linux 可我在执行make之后,出现错误: 它并不从指定的路径找头文件,而是去/usr/include/linux下来寻找,指定的路径没起作用,这是为什么呢?怎么才能让这个起作用呢? 现有,我看有的makefile文件中这样写 ***.o: ***.c /usr/include/linux/version.h 可在这个路径下并没有这个头文件呀,是不是写错了? |
|
沙发#
发布于:2003-02-19 22:57
在编写makefile文件中,给程序的头文件指定一个路径,如下: Makefile里面指定只是用于决定的是对从属文件的依赖关系,以此来决定是否要重新编译的。真正起作用的是源代码文件内的include的关系。你可以显式的在你的源代码中注明要包含的头文件的完整路径。 还有一个比较简单的方法就是让/usr/include/linux成为到/usr/src/linux-2.4.18-3/include/linux的soft link。 首先mv /usr/include/linux xxx 然后 ln -sf /usr/src/linux-2.4.18-3/include/linux /usr/include/linux |
|
|
板凳#
发布于:2003-02-20 22:53
Makefile里面指定只是用于决定的是对从属文件的依赖关系,
你在这里所说的从属文件是指什么呢?在makefile文件格式中的哪部分呢? 真正起作用的是源代码文件内的include的关系。你可以显式的在你的源代码中注明要包含的头文件的完整路径。 这种方法怎么做,就是在源代码中如何写呢? 这种指定路径的方式不能在makefile中做到吗? 你说这种软连接,可我要的真正路径是/usr/src/linux-2.4.18-3/include/linux ,我并不需要/usr/linux/include这个路径呀!而是系统要从这个路径来寻找程序的头文件!我的想法是让系统能从/usr/src/linux-2.4.18-3/include/linux 来寻找头文件! [编辑 - 2/20/03 by gyh2002] [编辑 - 2/20/03 by gyh2002] |
|
地板#
发布于:2003-02-27 13:29
用类似以下的格式来指定可搜索的头文件路径
.c.o:$.c $(CC) $(CFLAGS) $(INCLUDE) -c $*.c |
|
地下室#
发布于:2003-03-01 02:18
用类似以下的格式来指定可搜索的头文件路径 你这种写法怎么会指定可搜索的头文件呢?能解释一下吗? |
|
5楼#
发布于:2003-03-03 00:59
***.o: ***.c /usr/include/linux/version.h
.o:后面都是从属文件 Makefile里面指定只是用于决定的是对从属文件的依赖关系, |
|
|
6楼#
发布于:2003-03-12 11:58
在make中用CFLAGS来指定include的路径,如:
CFLAGS = -I/usr/src/linux-2.4.18-3/include -O -Wall 试试吧 :cool: |
|