Mysql
 sql >> Datenbank >  >> RDS >> Mysql

App kann keine Verbindung zu MySQL-Bibliotheken herstellen (CentOS)

Sie sollten die unabhängigste Bibliothek an das Ende des Befehls stellen, damit der Compiler Symbole und Definitionen richtig finden kann:

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 

Auf diese Weise sucht der Compiler weiterhin nach undefinierten Symbolen in den nächsten Verknüpfungsdateien. Zum Beispiel wenn IPO.o hat ein in CI_Metadata.o definiertes Symbol (Typ/Klasse/Struktur/Funktion usw.). , der Compiler kann es finden, weil Sie CI_Metadata.o einfügen nach IPO.o . Die meisten Bibliotheken sind unabhängig, deshalb befinden sie sich am Ende des Kompilierungs-/Verknüpfungsbefehls.