Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql конектор cpp в centos 6 недефинирана препратка към

Вашата текуща команда за компилация:g++ demo.cpp -o demo не съдържа информация за линкера ld срещу кои библиотеки трябва да се свържат. Поради това получавате грешка при свързване:

В тази документация пише кои библиотеки са необходими.

Можете да свържете статично или динамично.
Статично свързване означава, че вашият изпълним файл ще работи на машини, които нямат инсталирани необходимите библиотеки, тъй като библиотеките са вътре в изпълнимия файл. Това също прави изпълнимия файл по-голям по размер. В случая на MySQL Connector/C++ библиотеките са:libmysqlcppconn-static.a и libmysqlclient.a
Динамично свързване означава, че вашият изпълним файл ще трябва да намери библиотеките на машината, където трябва да се изпълнява. Необходимата библиотека е:libmysqlcppconn.so .

Вашата команда за изграждане с динамично свързване (с помощта на libmysqlcppconn.so ) трябва да изглежда така:

g++ demo.cpp -o demo -lmysqlcppconn

Освен това обърнете внимание на разликата между -l и -L както е споменато тук в SO или тук в официалната документация за gcc linker :

Нямате нужда от път (-L ) тук, тъй като библиотеките трябва да са под /usr/local/lib което е инсталацията по подразбиране и вече е в пътя за търсене на линкера.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Функции за закръгляване

  2. MYSQL, използвайки уникални имена на таблици VS с помощта на идентификатори

  3. Примери за UTC_DATE – MySQL

  4. Използване на потребителски идентификационни данни на Wordpress с php скрипт за изпращане на данни към приложение за iOS

  5. MySQL - ИЗБЕРЕТЕ, ПРИСЪЕДИНЕТЕ