Undefined Symbol in libCstd When Linking a C++ Application Compiled with Oracle Solaris Studio
(Doc ID 1492615.1)
Last updated on NOVEMBER 01, 2024
Applies to:
Oracle Solaris Studio - Version Forte Developer 6 Update 2 to 12.6 [Release 6.0 to 12]Information in this document applies to any platform.
Symptoms
When linking together an application or shared library compiled with the Oracle Solaris Studio/Oracle Developer Studio C++ compiler, the linker flags missing symbols that should be in libCstd.so.
Example linker error message:
symbol in file
bool std::operator==<char,std::char_traits,std::allocator >(const std::basic_string&,const __type_0*) ../src/.libs/liblog4cplus.a(fileappender.o)
In the above example, the symbol bool std::operator==<char,std::char_traits<char>,std::allocator<char> >(const std::basic_string<__type_0,__type_1,__type_2>&,const __type_0*) is missing, which is needed by object file fileappender.o. In the example, the fact that an instantiation of std::operator== is missing indicates that the symbol is provided by libCstd.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |