sql >> Databasteknik >  >> RDS >> Mysql

app misslyckas med att länka till mysql-bibliotek (CentOS)

Du bör sätta det mest oberoende biblioteket i slutet av kommandot, så att kompilatorn kan hitta symboler och definitioner korrekt:

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 

Genom att göra det på detta sätt kommer kompilatorn att fortsätta söka efter odefinierade symboler från nästa länkande filer. Till exempel om IPO.o har använder symbol(typ/klass/struct/funktion etc) definierade i CI_Metadata.o , kan kompilatorn hitta det eftersom du sätter CI_Metadata.o efter IPO.o . De flesta bibliotek är oberoende, det är därför de är i slutet av kommandot kompilera/länka.




  1. PostgreSQL, triggers och samtidighet för att genomdriva en temporär nyckel

  2. Optimeringströsklar – gruppering och aggregering av data, del 1

  3. Det gick inte att starta postgresql-tjänsten på CentOS 7

  4. Vad jag behöver göra för att öppna webbadresser med specialtecken