“Símbolo indefinido _memset”
Fiz uma pergunta semelhante, mas tenho algumas atualizações que realmente me confundem. Essencialmente, quero vincular vários arquivos de objeto ao vinculador da seguinte maneira:
/usr/ccs/bin/ld -o q -e start_master -dn -z defs -M ../../../mapfile.q {list of object files}
Estou tendo o erro a seguir
Undefined first referenced
symbol in file
_memset reconf.o
O interessante é que o memset não é mencionado no reconf.c e também recebi o diretório inteiro, mas também não há referência em nenhum dos outros arquivos para _memset. Portanto, estou me perguntando por que recebo essa mensagem de erro do vinculador, embora em nenhum lugar do meu código-fonte _memset seja realmente usado. Alguém tem uma idéia do que poderia estar acontecendo aqui?
Muito obrigado, este erro está nos deixando loucos!
EDITAR
entei adicionar o caminho para a biblioteca do memset e vinculá-lo com -lc e executá-lo no modo detalhado:
/usr/ccs/bin/ld -o q -e start_master -dn -z defs -z verbose -L/usr/lib -M ../../../mapfile.q {list of object files} -lc
Então eu recebo o seguinte erro: ld: fatal: library -lc: not found ld: fatal: Erros de processamento de arquivos. Nenhuma saída gravada em q
E isso, embora libc.so esteja claramente em / usr / lib ...
Confuso
EDIT II:
Fazendo mais algumas pesquisas, parece que no Solaris 10 a vinculação estática desapareceu, como você pode ler aqui:
http: //blogs.oracle.com/rie/entry/static_linking_where_did_i
Provavelmente este é o meu problema. Alguém tem uma idéia de como eu poderia reescrever meu comando vinculador para uma solução alternativa para esse problem
Muito Obrigado