sql >> Databasteknik >  >> RDS >> Mysql

mysql-kontakt cpp i centos 6 odefinierad referens till

Ditt nuvarande byggkommando:g++ demo.cpp -o demo innehåller ingen information om länken ld vilka bibliotek bör länkas mot. På grund av det får du ett länkfel:

I denna dokumentation skrivs vilka bibliotek som behövs.

Du kan antingen länka statiskt eller dynamiskt.
Statisk länkning betyder att din körbara kommer att köras på maskiner som inte har de nödvändiga biblioteken installerade eftersom biblioteken finns inuti den körbara filen. Detta gör också den körbara filen större i storlek. När det gäller MySQL Connector/C++ är biblioteken:libmysqlcppconn-static.a och libmysqlclient.a
Dynamisk länkning betyder att din körbara fil kommer att behöva hitta biblioteken på maskinen där den ska köras. Det nödvändiga biblioteket är:libmysqlcppconn.so .

Ditt byggkommando med dynamisk länkning (med libmysqlcppconn.so ) ska se ut så här:

g++ demo.cpp -o demo -lmysqlcppconn

Notera ytterligare skillnaden mellan -l och -L som nämnts här på SO eller här i den officiella gcc länkdokumentationen :

Du behöver ingen sökväg (-L ) här eftersom biblioteken ska ligga under /usr/local/lib vilket är standardinstallationen och redan finns i länkens sökväg.



  1. ArrayList itererar samma data

  2. Hur använder jag SQL Server Compact Edition (CE) från Java?

  3. Varför lagrad procedur är snabbare än Query

  4. Lista över MySQL-datumformatspecifikationer