错误 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编译参数即可

上一篇:Mahout快速入门教程 分类: B10_计算机基础 2015-03-07 16:20 508人阅读 评论(0) 收藏


下一篇:How To Set Up Apache Virtual Hosts on CentOS 6