Pregunta

PROBLEMA:

Ok, he estado tratando de seguir el código de ejemplo en el MySQL Forge Wiki y algunos otros sitios web que ofrecen un tutorial sobre cómo obtener una conexión de base de datos simple, pero por alguna razón, mi proyecto siempre falla en un error de vinculación y no puedo entender por qué o cómo solucionarlo yo mismo (todavía estoy aprendiendo). ¡POR FAVOR, AYÚDAME! He incluido el directorio de ruta necesario para los archivos de cabecera en las propiedades del proyecto y siempre que el directorio de ruta de los archivos lib que se utilizan en el MySQL Connector / C ++. El código que estoy usando es a continuación si alguien me pudiera dar una pista / comentario útil sobre cómo solucionarlo. Creo que tiene algo que ver con la conexión a los archivos lib (debido al error de enlace), pero no sé de una solución para solucionarlo. Alguien más ha tenido problemas como éste?

http://forge.mysql.com/wiki/Connector_C++ http://dev.mysql.com/tech- recursos / artículos / mysql-connector-cpp.html # createdb

CÓDIGO:

int main() {
    // do something
    sql::mysql::MySQL_Driver *driver;
    sql::Connection *con;
    sql::Statement *stmt;
    sql::ResultSet *res;
    sql::PreparedStatement *pstmt;

    cout << "Starting Driver Instance" << endl;
    driver = sql::mysql::MySQL_Driver::get_mysql_driver_instance();

    return 0;
}

ERROR DE SALIDA:

1>------ Build started: Project: test, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>c:\users\josh bradley\documents\visual studio 2008\projects\test\test\main.cpp(28) : error C2039: 'get_mysql_driver_instance' : is not a member of 'sql::mysql::MySQL_Driver'
1>        c:\program files\mysql\mysql connector c++ 1.0.5\include\mysql_driver.h(25) : see declaration of 'sql::mysql::MySQL_Driver'
1>c:\users\josh bradley\documents\visual studio 2008\projects\test\test\main.cpp(28) : error C3861: 'get_mysql_driver_instance': identifier not found
1>Build log was saved at "file://c:\Users\Josh Bradley\Documents\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm"
1>test - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

ACTUALIZACIÓN:

Sólo quería que todos sepan que finalmente descubrí cómo solucionar mi problema. Para cualquier persona que tiene un problema similar, vaya a http: //blog.ulf-wendel. es /? p = 215 # hola y leer a través de las instrucciones sobre cómo conectarse a la mysqlcppconn.lib dinámicamente. Mi problema era la configuración del entorno real, de modo que se conectaría a la biblioteca correcta y este tutorial ayudó enormemente!

¿Fue útil?

Solución

Debe cambiar primero su código:

driver = sql::mysql::get_mysql_driver_instance();

Y a continuación, hay que enlazar el código con mysqlclient.lib Añadir el camino correcto de su lib mysqlclient.lib en su proyecto:

Properties->Linker->General-> Additionnal Libraries

A continuación, añadir la ruta de su lib.

Otros consejos

Una rápida búsqueda en Google sugiere que su línea debe decir:

driver = sql::mysql::get_mysql_driver_instance();

El error es un error de compilación. Se queja de que no puede encontrar get_mysql_driver_instance () en el espacio de nombres especificado.

Trate de hacer doble clic en la línea:

1>        c:\program files\mysql\mysql connector c++ 1.0.5\include\mysql_driver.h(25) : see declaration of 'sql::mysql::MySQL_Driver'

Se le mostrará el archivo de cabecera, y se puede buscar allí para asegurarse de que la función está presente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top