Pergunta

PROBLEMA:

Ok, eu tenho tentado a seguir o código de exemplo no MySQL Forge Wiki e alguns outros sites que oferecem um tutorial sobre como obter uma conexão de banco de dados simples, mas por alguma razão, meu projeto sempre falha em um erro vincular e eu não consigo descobrir por que ou como corrigi-lo eu mesmo (eu ainda estou aprendendo). POR FAVOR ME AJUDE! Eu incluí o diretório do caminho necessário para os arquivos de cabeçalho nas propriedades do projeto e desde que o diretório de caminho para os arquivos lib que são usados ??no MySQL Connector / C ++. O código que estou usando é abaixo se alguém poderia me dar uma dica útil / comentário sobre como corrigi-lo. Eu acho que tem algo a ver com a conexão com os arquivos lib (por causa do erro de ligação), mas eu não sei de uma solução para corrigi-lo. Tem mais alguém teve problemas como este?

http://forge.mysql.com/wiki/Connector_C++ http://dev.mysql.com/tech- recursos / artigos / 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;
}

Um erro de saída:

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 ==========

UPDATE:

Eu só queria que todos saibam que eu finalmente descobri como resolver o meu problema. Para qualquer um que tem um problema semelhante, vá para http: //blog.ulf-wendel. de /? p = 215 # Olá e ler as instruções sobre como se conectar à mysqlcppconn.lib dinamicamente. Meu problema era configurar o ambiente real para que ele iria ligar para a biblioteca corretamente e este tutorial ajudou tremendamente!

Foi útil?

Solução

Você deve primeiro alterar o código:

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

E ao lado, você tem que ligar seu código com mysqlclient.lib Adicione o caminho certo do seu lib mysqlclient.lib em seu projeto:

Properties->Linker->General-> Additionnal Libraries

Aqui adicionar o caminho do seu lib.

Outras dicas

A google rápida pesquisa sugere que sua linha deve ler:

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

O erro é um erro do compilador. Ele está reclamando que não consegue encontrar get_mysql_driver_instance () no namespace especificado.

Tente clicar duas vezes a linha:

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

Ela vai mostrar o arquivo de cabeçalho, e você pode procurar lá para garantir que a função está presente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top