MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

g++ não pode link estático libmongcxx(r3.0.2), mas o link dinâmico funciona


O -static sinalizador força o vinculador a aceitar apenas bibliotecas estáticas e não quaisquer bibliotecas compartilhadas. Em outras palavras, não requer uma dependência de bibliotecas dinâmicas em tempo de execução para ser executado. Muito provavelmente mongocxx tem algumas dependências. Para obter a vinculação estática, é necessário que as versões de arquivo (.a) de suas bibliotecas existam no sistema.

O outro problema possível é que a ordem das bibliotecas estáticas na linha de comando do vinculador importa, então isso também pode ser um problema se houver uma dependência de diferentes bibliotecas estáticas. O vinculador processará as bibliotecas na ordem em que estão na linha de comando e, de cada biblioteca estática, extrairá apenas os símbolos necessários (com tanta informação quanto o vinculador tiver naquele momento)

Use nm . Isso lhe dará os nomes dos símbolos.