LinuxSir.cn,穿越时空的Linuxsir!

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

g++main.cc...用makefile文件如何写?

[复制链接]
发表于 2004-12-24 14:17:43 | 显示全部楼层 |阅读模式
g++ examplewindow.cc main.cc -o range `pkg-config gtkmm-2.4 --cflags --libs`

其中是为了编译一个examplewindow.cc examplewindow.h main.cc

请问这样的makefile文件该怎么写?
发表于 2004-12-24 15:29:09 | 显示全部楼层
大概这样吧:
examplewindow.o:examplewindow.cc examplewindow.h
g++ examplewindow.cc -c examplewindow.o `pkg-config gtkmm-2.4 --cflags --libs`

main.o:main.cc
g++ main.cc -c main.o `pkg-config gtkmm-2.4 --cflags --libs`

range:examplewindow.o main.o
g++ examplewindow.o main.o -o range
发表于 2004-12-24 15:39:04 | 显示全部楼层
最好把 range: 写在最上面,否则每次都要 make range 才行。
发表于 2004-12-24 21:31:51 | 显示全部楼层
Makefile默认是把第一个目标当成总目标,所以最好把总目标写在第一行。
发表于 2004-12-25 04:55:19 | 显示全部楼层
Post by doubleelec
最好把 range: 写在最上面,否则每次都要 make range 才行。




all:range

也就是设置了 all 方法,会不会起一点的作用呢?make我也是刚刚接触,还有很多不懂的地方。
发表于 2004-12-25 08:22:42 | 显示全部楼层
all也是一个目标,只不过是伪目标。它的作用和其它目标一样,如果就在第一行,就是make缺省执行的目标,只要直接make就行了。如果不是放在第一行,要执行这个目标,就得要make all。
 楼主| 发表于 2004-12-26 13:01:58 | 显示全部楼层
我把range:写在了最上面了
可是每次make只能编译一个语句。
例如第一次make提示examplewindow.o没有找到文件
   第二次make提示main.o没有找到文件
   再次make就对了
请问是为什么?
发表于 2004-12-26 18:30:33 | 显示全部楼层
请把Makefile贴出来。
 楼主| 发表于 2004-12-26 20:35:44 | 显示全部楼层
Post by kj501
请把Makefile贴出来。

range:examplewindow.o main.o
g++ examplewindow.o main.o -o range

examplewindow.o:examplewindow.cc examplewindow.h
g++ examplewindow.cc -c examplewindow.o `pkg-config gtkmm-2.4 --cflags --libs`

main.o:main.cc
g++ main.cc -c main.o `pkg-config gtkmm-2.4 --cflags --libs`

clean:
          rm *.o range
发表于 2004-12-27 04:05:50 | 显示全部楼层
我在FreeBSD下用make出现下列提示,请问如何解决:

$ make
"/usr/home/xxb/myprog/msg4/Makefile", line 9: Need an operator
"/usr/home/xxb/myprog/msg4/Makefile", line 11: Need an operator
"/usr/home/xxb/myprog/msg4/Makefile", line 14: Need an operator
"/usr/home/xxb/myprog/msg4/Makefile", line 16: Need an operator
"/usr/home/xxb/myprog/msg4/Makefile", line 18: Need an operator
"/usr/home/xxb/myprog/msg4/Makefile", line 20: Need an operator
"/usr/home/xxb/myprog/msg4/Makefile", line 23: Need an operator
make: fatal errors encountered -- cannot continue
$
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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