Hallo. Ich habe um mein Code mit einer dritten Partei-Bibliothek ", libfoo.so". Nun, der Verkäufer liefert eine statisch gelinkte Bibliothek, "libfoo.a", statt. Mit dieser Bibliothek, in der ich folgende Fehlermeldung:
Code:
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
Ich habe versucht "-Bstatic-lfoo-Bdynamic" ohne Erfolg. Ich sehe mehrere Google-Ergebnisse zu diesem Fehler, aber keine, die hilft mir speziell. Bin ich mit der Zusammenstellung der falschen Optionen? Ist es etwas, dass der Verkäufer muss sich ändern? Hoffe jemand kann mir in die richtige Richtung, danke!
EDIT: Ich bin mit Sun Studio 12 Update 1. Ich habe schon versucht "-L/usr/lib/sparcv9-lCstd" als gut.