Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

aplicativo falhando ao vincular a bibliotecas mysql (CentOS)


Você deve colocar a biblioteca mais independente no final do comando, para que o compilador possa encontrar o símbolo e as definições corretamente:
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 

Ao fazer isso, o compilador continuará pesquisando símbolos indefinidos dos próximos arquivos de vinculação. Por exemplo, se IPO.o usa o símbolo (tipo/classe/estrutura/função etc) definido em CI_Metadata.o , o compilador pode encontrá-lo porque você colocou CI_Metadata.o após IPO.o . A maioria das bibliotecas são independentes, por isso estão no final do comando compile/link.