LinuxSir.cn,穿越时空的Linuxsir!

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

请问ld和sysroot是什么关系啊

[复制链接]
发表于 2011-7-7 16:03:20 | 显示全部楼层 |阅读模式
我在交叉编译hello.c的时候出现如下错误提示。
/usr/bin/arm-none-eabi-ld: this linker was not configured to use sysroots
collect2: ld returned 1 exit status
不太明白他说的连接器没有配置使用sysroots是什麼意思。
各位帮忙解答一下好吗。
发表于 2011-7-7 16:58:43 | 显示全部楼层
交叉编译, 要去链接的东西是交叉编译链给的sysroot下的, 肯定不能链你主机的哦

以前玩儿交叉编译的时候没遇到过这个错误...
回复 支持 反对

使用道具 举报

发表于 2011-7-7 19:03:06 | 显示全部楼层
怀疑你乱放位置,在编译的时候要指定位置的,生成安装的编译器后,也要按相同的目录位置放置
建议你可以用一下crosstool-ng 挺不错的
http://crosstool-ng.org/hg/crosstool-ng/
自己配置一下,生成工具链,还可以自己PKGBUILD打包一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-7-7 23:00:50 | 显示全部楼层
Post by axlrose;2144200
怀疑你乱放位置,在编译的时候要指定位置的,生成安装的编译器后,也要按相同的目录位置放置
建议你可以用一下crosstool-ng 挺不错的
http://crosstool-ng.org/hg/crosstool-ng/
自己配置一下,生成工具链,还可以自己PKGBUILD打包一下
可是我编译linux内核成功了啊,只有这个hello.c不行。
我用的是arm-none-eabi直接在aur上面找到的。
crosstool-ng是gcc的变种吗?
回复 支持 反对

使用道具 举报

发表于 2011-7-7 23:38:17 | 显示全部楼层
Post by milkline;2144213
可是我编译linux内核成功了啊,只有这个hello.c不行。
我用的是arm-none-eabi直接在aur上面找到的。
crosstool-ng是gcc的变种吗?


内核...内核又不链接别的库...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-7-8 10:34:39 | 显示全部楼层
Post by adam8157;2144217
内核...内核又不链接别的库...
那请问这个要怎么解决呢?重新安装toolchain?
还是可以自己配置ld?
确实不太明白这个之间的关系和原理。
回复 支持 反对

使用道具 举报

发表于 2011-7-8 11:03:42 | 显示全部楼层
Post by milkline;2144237
那请问这个要怎么解决呢?重新安装toolchain?
还是可以自己配置ld?
确实不太明白这个之间的关系和原理。


我怀疑是这个编译链的问题, 为什么要用交叉编译链呢? 自己用的话直接用普通的, 玩板子什么的, 板子都提供了适用的编译链
回复 支持 反对

使用道具 举报

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

本版积分规则

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