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