Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql złącze cpp w centos 6 niezdefiniowane odniesienie do

Twoje obecne polecenie kompilacji:g++ demo.cpp -o demo nie zawiera informacji dla linkera ld do których bibliotek należy linkować. Z tego powodu pojawia się błąd linkera:

W tej dokumentacji jest napisane, które biblioteki są potrzebne.

Możesz połączyć statycznie lub dynamicznie.
Łączenie statyczne oznacza, że ​​twój plik wykonywalny będzie działał na maszynach, które nie mają zainstalowanych wymaganych bibliotek, ponieważ biblioteki znajdują się w pliku wykonywalnym. Dzięki temu plik wykonywalny ma większy rozmiar. W przypadku MySQL Connector/C++ biblioteki to:libmysqlcppconn-static.a i libmysqlclient.a
Dynamiczne łączenie oznacza, że ​​twój plik wykonywalny będzie musiał znaleźć biblioteki na maszynie, na której powinien działać. Potrzebna biblioteka to:libmysqlcppconn.so .

Twoje polecenie kompilacji z linkowaniem dynamicznym (używając libmysqlcppconn.so ) powinien wyglądać tak:

g++ demo.cpp -o demo -lmysqlcppconn

Dalej zwróć uwagę na różnicę między -l i -L jak wspomniano tutaj na SO lub tutaj, w oficjalnej dokumentacji konsolidatora gcc :

Nie potrzebujesz ścieżki (-L ) tutaj, ponieważ biblioteki powinny leżeć w /usr/local/lib która jest domyślną instalacją i znajduje się już w ścieżce wyszukiwania linkera.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zapisać dane na jednej stronie tymianku w wielu wierszach sql

  2. Mysql:Przechowuj tablicę danych w jednej kolumnie

  3. Wykonaj instrukcję funkcji mysql create za pomocą PHP

  4. Jak usunąć procedurę składowaną w MySQL?

  5. zapytanie sql, aby uzyskać usunięte rekordy