Hej. Jag brukade kompilera min kod, inklusive en tredje part bibliotek, "libfoo.so". Nu säljaren fartygen ett statiskt länkade bibliotek, "libfoo.a" i stället. Med detta bibliotek, jag springer in i följande felmeddelande:
Kod:
CC -mt -xarch=v9 -DCOMPILE_SOL_SPARC -ftrap=%none -xlibmil -xchip=ultra2 -xbuiltin -xO4 \
-D_REENTRANT -DNDEBUG -instances=static -I. -I/home/test/release64/include -I/home/test/release64/include \
-I/home/test/src/foo/common -I/home/test/src/foo/foo -I/infrastructure/core/release64/include \
-I/infrastructure/core/third-party/boost_1_36_0 -xildoff -norunpath -o /home/test/release64/bin/xyz \
/home/test/release64/obj/xyz/app.o \
\
/home/test/release64/obj/xyz/compiledate.o -L/home/test/release64/lib \
-L/home/test/src/foo/lib/SOL_SPARC -L/infrastructure/core/release64/lib -lfoo -ldl \
-lsocket -ldemangle -lm -lnsl -lz -lsched -R /usr/lib/lwp/64 \
Undefined first referenced
symbol in file
std::basic_string<char,std::char_traits<char>,
std::allocator<char> >&std::basic_string<char,std::char_traits<char>,
std::allocator<char> >::operator+=(const char*)
/home/test/src/foo/lib/SOL_SPARC/libfoo.a(app.o)
[...]
(symbol belongs to implicit dependency /usr/lib/sparcv9/libCstd.so.1)
ld: fatal: Symbol referencing errors. No output written to /home/test/release64/bin/foo
*** Error code 1
Jag har försökt "-Bstatic-lfoo-Bdynamic" utan framgång. Jag ser flera Google-resultat om detta fel, men ingen som hjälper mig specifikt. Jag kompilera med fel alternativ? Är det något som säljaren måste förändras? Hoppas någon kan peka mig i rätt riktning, tack!
EDIT: Jag använder Sun Studio 12 Update 1. Jag har redan försökt "-L/usr/lib/sparcv9-lCstd" också.