Leaving directory是什么错误?

rw99yy 2006-08-25 02:27:54
make程序出现一下错误。希望能给点什么提示:
这种linux下的gcc编译器是报错格式是怎么的。也就是哪些是编译错误提示,哪些是make输出。
另外下面好像有:Leaving directory 和undefined referen
ce to `___moddi3',collect2: ld returned 1 exit status

请大家帮个忙?
*********************************************************************
gcc -c -I../tracer ram.c
make[2]: Leaving directory `/usr/src/skyeye-v1/arch/coldfire/common'
make[1]: Leaving directory `/usr/src/skyeye-v1/arch/coldfire'
ar rc binary/libcoldfire.a binary/cf_arch_interface.o arch/coldfire/common//*.o
arch/coldfire//tracer/tracer.o arch/coldfire//i_5206/i.o
ranlib binary/libcoldfire.a
gcc -g -DSTANDALONE -DDEFAULT_INLINE=0 -DMODET -DMODET -I arch/arm -I arch/a
rm/common/ -I arch/arm/common/mmu/ -I arch/arm/mach/ -I arch/bfin/common -I arch
/bfin/mach -I arch/coldfire/common -I device/ -I device/net -I device/lcd -I dev
ice/flash -I utils/share -I utils/main -I utils/config -I utils/debugger -DARM
-I. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/us
r/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/inclu
de/glib-2.0 -I/usr/lib/glib-2.0/include -o binary/skyeye binary/skyeye.o --sta
rt-group -Lbinary -lutils -larm -ldev -lbfin -lcoldfire -lc -lbfd -liberty -lin
tl -liconv --end-group `pkg-config gtk+-2.0 --libs`
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libbfd.a(elf32.o):: undefined referen
ce to `___moddi3'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libbfd.a(elf.o):: undefined reference
to `___umoddi3'
collect2: ld returned 1 exit status
make: *** [binary/skyeye] Error 1

YOYO@renwei /usr/src/skyeye-v1
$
YOYO@renwei /usr/src/skyeye-v1
...全文
18511 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rw99yy 2006-09-21
  • 打赏
  • 举报
回复
楼上的不错 谢了
rw99yy 2006-09-04
  • 打赏
  • 举报
回复
谢谢各位捧场
DanXer 2006-09-04
  • 打赏
  • 举报
回复
给你贴一个我以前写的帖子,你可以参考参考。

一行就可以的Makefile

hello:

因为make足够聪明,它会自动把所有hello.c/hello.cpp/hello.o作为输入,并调用正确的编译器/连接器,这叫做隐含规则

如果写多一点,但不通用,像这样

hello:hello.c
<TAB>$(CC) hello.c -o hello #<TAB>键必须

如果写完整一点,稍微有点功能,支持大一点的项目 像这样
CC=gcc
LD=ld
CFLAGS=-g -Wall #你想编译调试版(有调试符号),显示所有警告
LDFLAGS=-lc -lm #你链接c函数库,数学函数库

srcfiles:= $(wildcard *.c) #生成当前目录c源文件列表,用空格分隔
header:=$(wildcard *.h) #生成生成当前目录h头文件列表,用空格分隔
objects:= $(patsubst %.c,%.o,$(srcfiles)) #从源文件列表生成目标文件列表(通过替换扩展名)
$(objects):$(header)
<TAB>$(CC) -c $(srcfiles) # <TAB>键必须 ,仅仅编译目标文件
hello:$(objects)
<TAB>$(CC) -c $(objects) # <TAB>键必须 ,仅仅连接产生输出文件
all:hello $(objects)
<TAB>$(CC) -c $(objects) # <TAB>键必须 ,做所有的事情
clean:
<TAB>rm -rc $(objects) hello
shavey 2006-08-25
  • 打赏
  • 举报
回复
要学makefile,网上有一篇《和我一起写Makefile》,非常好。推荐!
shavey 2006-08-25
  • 打赏
  • 举报
回复
遇到undefined reference,一般是库有问题。而Leaving directory不是错误。一般写makefile的时候,会cd到某个文件夹,再执行一些命令,这样的话,就会出现Leaving directory的信息
fytzzh 2006-08-25
  • 打赏
  • 举报
回复
你的错是在这里:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libbfd.a(elf32.o):: undefined referen
ce to `___moddi3'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libbfd.a(elf.o):: undefined reference
to `___umoddi3'

你是在编译什么程序,自己写的? 感觉你的系统缺少库
rw99yy 2006-08-25
  • 打赏
  • 举报
回复
问题虽然已解决,但是还是请大家帮忙学写makefile
积木 2006-08-25
  • 打赏
  • 举报
回复
错误不在那里。
好像是编译参数错了,也不知道你在编译什么。

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧