免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3712 | 回复: 7
打印 上一主题 下一主题

Makefile的问题,急了!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-14 10:52 |只看该作者 |倒序浏览
系统 的makefile文件,make时总是提示:
makefile:20  ***commands commence before first target. Stop.
20line就是"OBJS =        \"的下一行。

我是在red hat 6.5下make的。但是我到redhat 7.3和9.0上就没有错误,是不是版本的问题啊?
郁闷死了。大虾们给我看看,我应该怎么改改 让它make成功



### System makefile

CC = g++

LDFLAGS =  -L/usr/X11R6/lib -lX11 -lXext -lm  -L$(ARIA)/lib -lAria -Xlinker -lstdc++ -Bdynamic  -lpthread -ljpeg  
CPPFLAGS = -I../include -I./ -I/usr/X11R6/include -I$(ARIA)/include  
CFLAGS = -g -Wall -O2 -D_REENTRANT -fno-exceptions $(CPPFLAGS)
CXXFLAGS = $(CFLAGS)
LDLIBS=

TASKDIR = followWall/*.o  moveforward/*.o  wander/*.o

EXE := RobotServer


#SOURCE := $(wildcard *.cpp)
#OBJS := $(patsubst %.cpp,%.o,$(SOURCE))

OBJS =        \
        followWall/follow.o  followWall/forward.o followWall/swerve.o moveforward/moveforward.o wander/wander.o \
        TaskActionGroups.o TaskMode.o TaskModes.o mysync.o mythread.o mysocket.o tcpservthr.o \
        JpegCodec.o  ImageGrab.o  AudioVideoHandler.o AudioVideoControl.o InfoStream.o StreamServer.o  \
        LocalRobot.o RemoteAction.o RobotThread.o BasedRobot.o robotInterface.o  UserProxy.o RobotServer.o  \
        main.o


.PHONY : all  clean

all : $(EXE)

$(EXE) : $(OBJS)
        $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)

       
%.o : %.cpp
        $(CC) -c $(CFLAGS) $< -o $@

clean:
        -rm -f $(EXE)  *.o $(TASKDIR)

followWall/follow.o:followWall/follow.cpp
followWall/forward.o:followWall/forward.cpp
followWall/swerve.o:followWall/swerve.cpp
moveforward/moveforward.o:moveforward/moveforward.cpp
wander/wander.o:wander/wander.cpp


#end makefile

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-12-14 10:59 |只看该作者
把followWall/follow.o等下面的一些内容移到和OBJS同一行。

论坛徽章:
0
3 [报告]
发表于 2006-12-14 11:39 |只看该作者
是不是$< $@符号,在老版本不支持啊?
我放在一行了,现在提示 '.needed by 'all'  Stop target 'RobotServer'

郁闷了

论坛徽章:
0
4 [报告]
发表于 2006-12-14 12:58 |只看该作者
你在  followWall/follow.o  followWall/forward.o followWall/swerve.o moveforward/moveforward.o wander/wander.o \
这行最后有一个空格。。。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2006-12-14 13:03 |只看该作者
哈哈...贴一个我写的makefile..
可以简化你的makefile
http://www.cppblog.com/shaovie/articles/15836.html

论坛徽章:
0
6 [报告]
发表于 2006-12-14 15:40 |只看该作者
我把OBJS后面的放一行了,不用换行符号,但还是不行。
郁闷

论坛徽章:
0
7 [报告]
发表于 2006-12-14 16:35 |只看该作者
换行的前后不要用space退格,而要用“Tab”键退格,再试试

论坛徽章:
0
8 [报告]
发表于 2006-12-14 17:18 |只看该作者
我在redhat 7.3和9.0里面都可以,为什么搞到6.5里面就不行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP