sql >> Base de Datos >  >> RDS >> Mysql

C ++ / mysql Connector - referencia indefinida a get_driver_instance - ya probé las cosas fáciles

Así que he tenido este problema durante una semana y también me frustré mucho. Acabo de poder finalmente construir un programa que no hace nada excepto iniciar sesión en mysql y literalmente chillé de alegría. Esto es lo que tengo y espero que ayude.

Primero compilé la biblioteca del conector C++ desde la fuente, pero después de un tiempo pensé que tal vez había hecho algo mal, así que usé apt para obtenerlo con:

sudo apt-get install  libmysqlcppconn-dev

Y aquí está mi archivo fuente de prueba simple "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;
}

Y finalmente el comando de compilación g++:

sudo g++ -Wall -I/usr/include/cppconn -o testapp tester.cpp -L/usr/lib -lmysqlcppconn

¡Esto funcionó para mí y espero que te ayude a resolver tu problema!