Olá. Eu usei para compilar o meu código de terceiros, incluindo uma biblioteca ", libfoo.so". Agora, o vendedor navios estaticamente ligadas uma biblioteca ", libfoo.a", em vez disso. Com esta biblioteca, eu corro para o seguinte erro:
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
Tentei "-Bstatic-lfoo-Bdynamic" sem sucesso. Vejo vários resultados do Google sobre esse erro, mas nenhum que me ajuda especificamente. Estou a compilar com as opções erradas? É algo que o vendedor tem de mudar? Espero que alguém me pode apontar na direcção certa, muito obrigado!
EDIT: Estou usando o Sun Studio 12 Update 1. Eu já tentei "-L/usr/lib/sparcv9-lCstd", como bem.