--------------------------> 建立 交叉编译环境 ,编译GCC的 时候 出现的错误 : Link tests are not allowed after GCC_NO_EXECUTABLES

xp4105 2007-12-11 01:18:31


编译GCC3.4.4
make 以后,

.....
.....
.....
.....

checking for main in -lm... configure: error : Link tests are not allowed after GCC_NO_EXECUTABLES
make : *** [configure-target-libstdc++-v3] Error 1

////////////////////////////////////////////////////////////////

查找了半天,不知道怎么回事情。
...全文
1325 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
有问题请先GOOGLE,BAIDU
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
不知,帮顶
bluesky_heaven 2008-01-10
  • 打赏
  • 举报
回复
我也遇到这个问题

看到一篇文章

------------------------------------------------------

编译gcc-4.0.0

把gcc/arm/t-linux改回去,

最后要编译gcc,这时gcc是由我们刚生成的glibc和本地的gcc环境所共同生成,即--with-gnu-as --with-gnu-ld
除了生成xscale-linux-elf-gcc等可执行文件,还生成一些库文件。

我个人认为生成库文件所用的编译环境就应该是交叉环境了,所以在编译时还是出了点错误。这时就要求交叉
编绎环境能够运转。
我这时发现需要crt0.o,在libstdc++中检查,有个错误,
checking for main in -lm
error: Link tests are not allowed after GCC_NO_EXECUTABLES.这说明交叉编绎环境不能够运转。这时你可以


编个小程序试试。
如果google这个错误,会发现有许多人碰到,很多人没有何解决这个问题。
我主要做的事如下:
把生成的crt1.o拷到$HOME/xscale/lib/gcc/xscale-linux-elf/4.0.0

gcc/config/arm/unknown-elf.h中的crt0.o修改成crt1.o,如下:
#define STARTFILE_SPEC " crt1%O%s crti%O%s crtbegin%O%s"
重新编译了一下, mkbin/gcc/specs拷到$HOME/xscale/lib/gcc/xscale-linux-elf/4.0.0, mkbin是我的编译目录。

可以在第2步就把这个事做了。


------------------------------------------------------------


但是还不大会改。

哪位达人明白的能否指点下。。谢谢!

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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