Mysql
 sql >> Base de données >  >> RDS >> Mysql

l'application ne parvient pas à se lier aux bibliothèques mysql (CentOS)

Vous devez mettre la bibliothèque la plus indépendante à la fin de la commande, afin que le compilateur puisse trouver correctement les symboles et les définitions :

c++ -L/usr/lib/x86_64-linux-gnu -o tom tom.o Block.o IPC.o \
  ConnectMxctl.o CI_Metadata.o Log.o \
  -lmysqlclient -lpthread -lz -lm -lrt -ldl 

En procédant de cette façon, le compilateur continuera à rechercher des symboles indéfinis dans les prochains fichiers de liaison. Par exemple si IPO.o utilise le symbole (type/classe/structure/fonction, etc.) défini dans CI_Metadata.o , le compilateur peut le trouver car vous mettez CI_Metadata.o après IPO.o . La plupart des bibliothèques sont indépendantes, c'est pourquoi elles se trouvent à la fin de la commande compile/link.