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

mysql-stik cpp i centos 6 udefineret reference til

Din nuværende build-kommando:g++ demo.cpp -o demo indeholder ikke information om linkeren ld hvilke biblioteker skal linkes mod. På grund af det får du en linkerfejl:

I denne dokumentation er skrevet hvilke biblioteker der er nødvendige.

Du kan enten linke statisk eller dynamisk.
Statisk linkning betyder, at din eksekverbare vil køre på maskiner, der ikke har de nødvendige biblioteker installeret, da bibliotekerne er inde i den eksekverbare. Dette gør også den eksekverbare størrelse større. I tilfælde af MySQL Connector/C++ er bibliotekerne:libmysqlcppconn-static.a og libmysqlclient.a
Dynamisk linkning betyder, at din eksekverbare fil skal finde bibliotekerne på den maskine, hvor den skal køre. Det nødvendige bibliotek er:libmysqlcppconn.so .

Din build-kommando med dynamisk linking (ved at bruge libmysqlcppconn.so ) skal se sådan ud:

g++ demo.cpp -o demo -lmysqlcppconn

Bemærk yderligere forskellen mellem -l og -L som nævnt her på SO eller her i den officielle gcc linker-dokumentation :

Du behøver ikke en sti (-L ) her, da bibliotekerne skal ligge under /usr/local/lib som er standardinstallationen og allerede er i søgestien til linkeren.



  1. Fremmednøgler i MySQL?

  2. Triggere:hvordan kan jeg initialisere værdien på en tabel med en værdi på en anden?

  3. Flyway:opret visning som WITH (fælles tabeludtryk CTE)

  4. Vælg X-linjer, der starter ved linje Y