Mysql
 sql >> Database >  >> RDS >> Mysql

l'app non riesce a collegarsi alle librerie MySQL (CentOS)

Dovresti inserire la maggior parte della libreria indipendente alla fine del comando, in modo che il compilatore possa trovare correttamente simboli e definizioni:

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 

In questo modo, il compilatore continuerà a cercare simboli non definiti dai file di collegamento successivi. Ad esempio se IPO.o utilizza simboli (tipo/classe/struttura/funzione ecc.) definiti in CI_Metadata.o , il compilatore può trovarlo perché metti CI_Metadata.o dopo IPO.o . La maggior parte delle librerie sono indipendenti, ecco perché si trovano alla fine del comando compile/link.