Hola. He utilizado para compilar mi código de una librería de terceros ", libfoo.so". Ahora, el vendedor buques enlazado una biblioteca, "libfoo.a", en lugar. En esta biblioteca, me quedo en el siguiente error:
Código:
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
He intentado "-Bstatic-lfoo-Bdynamic" sin éxito. Veo varios resultados de Google sobre este error, pero ninguno que me ayuda en particular. ¿Estoy equivocado con la compilación de opciones? ¿Es algo que el vendedor debe cambiar? Espero que alguien me puede apuntar en la dirección correcta, gracias!
EDIT: Estoy utilizando Sun Studio 12 Update 1. Ya he intentado "-L/usr/lib/sparcv9-lCstd" también.