QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2800|回复: 5

关于arm-elf-gcc的问题求助

[复制链接]
发表于 2006-8-3 14:19:18 | 显示全部楼层 |阅读模式
我的问题由来是因为我在应用一个开源的程序
可以在PC上跑
README中介绍可以在ARM (iPAQ, Zaurus)中运行
用arm-linux-toolchain来编译

我刚开始接触嵌入式
在开发板lpc2210的实验指导上介绍在uclinux下是用arm-elf-tools编译
我修改了程序中的makefile文件
把ARM_CC=arm-linux-gcc改为了ARM_CC=arm-elf-gcc来尝试编译
产生了如下的错误

我的问题是
是否程序都可以用arm-linux-gcc和arm-elf-gcc来编译
是否用arm-linux-gcc编译的程序可以在uclinux下跑呢
谢谢
 楼主| 发表于 2006-8-3 14:20:44 | 显示全部楼层
错误信息如下:

arm-elf-gcc -Wall -O3 -g -DDEBUG -DCONFIG_GATEWAY -DARM -c -o libipq-arm.o libipq.c
arm-elf-gcc -Wall -O3 -g -DDEBUG -DCONFIG_GATEWAY -DARM -c -o icmp-arm.o icmp.carm-elf-gcc -Wall -O3 -g -DDEBUG -DCONFIG_GATEWAY -DARM -c -o min_ipenc-arm.o min_ipenc.c
arm-elf-gcc -Wall -O3 -g -DDEBUG -DCONFIG_GATEWAY -DARM -c -o locality-arm.o locality.c
arm-elf-gcc -Wall -O3 -g -DDEBUG -DCONFIG_GATEWAY -DARM -o aodvd main-arm.o list-arm.o debug-arm.o timer_queue-arm.o aodv_socket-arm.o aodv_hello-arm.o aodv_neighbor-arm.o aodv_timeout-arm.o routing_table-arm.o seek_list-arm.o k_route-arm.o aodv_rreq-arm.o aodv_rrep-arm.o aodv_rerr-arm.o packet_input-arm.o packet_queue-arm.o libipq-arm.o icmp-arm.o min_ipenc-arm.o locality-arm.o
/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.text+0xc4): In function `__do_global_ctors':
: undefined reference to `__CTOR_LIST__'
/usr/local/lib/gcc-lib/arm-elf/2.95.3/libgcc.a(__main.o)(.data+0x0): undefined reference to `__DTOR_LIST__'
collect2: ld returned 1 exit status
make: *** [aodvd-arm] 错误 1
回复

使用道具 举报

发表于 2006-8-4 16:01:33 | 显示全部楼层
用arm-elf-gcc编译需要加一个参数, -Wl,-elf2flt
回复

使用道具 举报

 楼主| 发表于 2006-8-5 20:26:33 | 显示全部楼层

是的
我前两天搜了一下之后
在makefile中加了-elf2flt
这个问题解决了

但编译的时候出了 新的问题:
/lib/modules/2.6.17.6/build/include/asm/semaphore.h:105: parse error before `KBUILD_BASENAME'
kaodv.c:199: parse error before string constant

/lib/modules/2.6.17.6/build/include/net/request_sock.h:198: warning: `always_inline' attribute directive ignored
/lib/modules/2.6.17.6/build/include/net/request_sock.h:211: warning: `always_inline' attribute directive ignored
/lib/modules/2.6.17.6/build/include/net/request_sock.h:221: warning: `always_inline' attribute directive ignored
/lib/modules/2.6.17.6/build/include/net/request_sock.h:231: warning: `always_inline' attribute directive ignored
/lib/modules/2.6.17.6/build/include/net/request_sock.h:236: warning: `always_inline' attribute directive ignored
.........................

不知道哪位遇到过这样的问题没有
谢谢!
回复

使用道具 举报

发表于 2006-8-8 10:23:34 | 显示全部楼层
你用的kernel版本太新了。。。。。。。
回复

使用道具 举报

 楼主| 发表于 2006-8-8 18:25:55 | 显示全部楼层

谢谢
我再试试
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-26 18:49 , Processed in 0.045731 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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