g++ error on Solaris/Sparc undefined reference to std::cout

Ian Lance Taylor iant@google.com
Tue Apr 19 15:49:00 GMT 2011


Qi Zuo <bitsunnyday@gmail.com> writes:

> global? Sorry, I can't get the meaning. Would you explain it further?
> Thanks a million!
>
> 2011/4/19 Jonathan Wakely <jwakely.gcc@gmail.com>:
>> On 19 April 2011 14:21, Ian Lance Taylor  wrote:
>>> Qi Zuo <bitsunnyday@gmail.com> writes:
>>>
>>>> Following your instruction, I checked the libstdc++.so. But I don't
>>>> know whether I've done the right check.
>>>
>>> It looks right.  This is a strange problem.
>>
>> Shouldn't this be global?
>>
>> 000e13e0 b _ZSt4cout

Ah, yes, well spotted.  A global symbol is visible outside the shared
library.  A local symbol is not.  The lower case 'b' indicates a local
symbol.

This looks like a problem with the version script used to build the
shared library.  Do you still have the logs for how libstdc++ was built?

Ian



More information about the Gcc-help mailing list