MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

g++ ne peut pas lier le lien statique libmongcxx(r3.0.2) mais le lien dynamique fonctionne

Le -static flag force l'éditeur de liens à n'accepter que les bibliothèques statiques et aucune bibliothèque partagée. En d'autres termes, il ne nécessite pas de dépendance aux bibliothèques dynamiques au moment de l'exécution pour s'exécuter.Très probablement mongocxx a quelques dépendances. Pour obtenir une liaison statique, il faut que les versions d'archive (.a) de vos bibliothèques existent sur le système.

L'autre problème possible est que l'ordre des bibliothèques statiques dans la ligne de commande de l'éditeur de liens est important, ce qui peut également poser problème s'il existe une dépendance à différentes bibliothèques statiques. L'éditeur de liens traitera les bibliothèques dans l'ordre dans lequel elles se trouvent dans la ligne de commande, et de chaque bibliothèque statique, il n'extrairea que les symboles nécessaires (avec autant d'informations que l'éditeur de liens possède à ce moment-là)

Utilisez nm . Cela vous donnera les noms des symboles.