Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6660363
  • 博文数量: 1159
  • 博客积分: 12444
  • 博客等级: 上将
  • 技术积分: 12570
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-13 21:34
文章分类

全部博文(1159)

文章存档

2016年(126)

2015年(350)

2014年(56)

2013年(91)

2012年(182)

2011年(193)

2010年(138)

2009年(23)

分类: C/C++

2015-09-18 23:34:08

/>

JJ <alchemistmba@gmail.com> writes:

> I get undefined references to these two symbols while linking:
>
> _aeabi_unwind_cpp_pr1
> __cxa_end_cleanup
>
>
> The command I'm using is:
> cross-gnueabi-g++ -static -nostartfiles -nodefaultlibs -nostdlib -T
> temp.ld -o standalone_program start.o abc.o xyz.o -lgcc -lc
> -L/tools/arm/gnu_crosstools/arm/lib/gcc/arm-linux-gnueabi/4.3.2/

_aeabi_unwind_cpp_pr1 is normally defined in libgcc.  If the undefined
reference is coming from libc, then you need to use -lgcc -lc -lgcc
(and, yes, sometimes you need -lgcc -lc -lgcc -lc -lgcc, which you can
also write as -Wl,--start-group,-lgcc,-lc,--end-group).

__cxa_end_cleanup is normally defined lib libsupc++.  Since you are
linking C++ code with -nodefaultlibs, you probably need an explicit
-lsupc++.

Ian



++++++++++++++++++++



阅读(830) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~