错误 undefined reference to __cxa_guard_acquire/release

用gcc编译 c++ 程序时,出现错误 undefined reference to __cxa_guard_acquire linker error, 但是用icc可以正常编译, 问题出在static 上。从网上搜到的解决办法是加库的链接:

To resolve this undefined references (__cxa_guard_acquire ) , add a library flag "-lstdc++" in your Makefile. It should work. It worked for me.
(http://rowley.zendesk.com/entries/46190-undefined-reference-to-cxa-guard-acquire-error-message)
加上后工作正常。

转自http://blog.sina.com.cn/s/blog_607233f50100xlml.html

 

在 gcc编译语句后添加-lstdc++即可。

如果出现其他未定义声明的情况:

undefined reference to `XXX'
collect2: ld returned 1 exit status

同理添加-lxxx编译参数即可。

 

undefined reference to ‘pthread_create’:

添加-lpthread编译参数即可

 

posted @ 2016-03-17 02:59  LarryKnight  阅读(2610)  评论(0编辑  收藏  举报