Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

C++ / mysql Connector - referência indefinida para get_driver_instance - já tentei as coisas fáceis


Então, eu tenho esse problema há uma semana e fiquei muito frustrado com isso também. Acabei de conseguir finalmente construir um programa que não faz nada além de fazer login no mysql e literalmente gritei de alegria. Aqui está o que eu tenho e espero que ajude.

Eu compilei primeiro a biblioteca de conectores c++ da fonte, mas depois de um tempo pensei que talvez tivesse feito algo errado, então usei o apt para obtê-lo:
sudo apt-get install  libmysqlcppconn-dev

E aqui está o meu arquivo de origem do testador simples "tester.cpp"
#include <stdlib.h>
#include <iostream>
#include <mysql_connection.h>
#include <driver.h>
#include <exception.h>
#include <resultset.h>
#include <statement.h>

using namespace sql;
int main(void){
  sql::Driver *driver;
  sql::Connection *con;

  driver = get_driver_instance();
  con = driver->connect("tcp://127.0.0.1:3306","root","YOURPASSWORD");

  return 0;
}

E finalmente o comando de compilação g++:
sudo g++ -Wall -I/usr/include/cppconn -o testapp tester.cpp -L/usr/lib -lmysqlcppconn

Isso funcionou para mim e espero que ajude você a resolver seu problema!