C ++ mySQL连接器多个错误(Windows)

时间:2013-05-20 19:07:52

标签: c++ mysql mysql-connector unresolved-external

我一直在尝试让MySQL使用Visual Studio 2012和Windows(x86)。我在Linux上没有问题,但是我在Windows上遇到很多错误。这是我的代码(我从某个网站复制过以测试它是否真的无效)

#include <stdafx.h>
#include <iostream>
#include <cstdlib>
#include <string>
#include "mysql_connection.h"
#include "mysql_driver.h"
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>

using namespace std;

const string server   = "tcp://somemysqlserver.com";
const string username = "someusers";
const string password = "somepass";

int main()
{
    sql::Driver     *driver;
    sql::Connection *dbConn; 
    sql::Statement  *stmt;  
    sql::ResultSet  *res; 

    try
    {
        driver = get_driver_instance();
    }
    catch (sql::SQLException e)
    {
        cout << "Could not get a database driver. Error message: " << e.what() << endl;
        system("pause");
        exit(1);
    }


    try
    {
        dbConn = driver->connect(server, username, password);
    }
    catch (sql::SQLException e)
    {
        cout << "Could not connect to database. Error message: " << e.what() << endl;
        system("pause");
        exit(1);
    }

    stmt = dbConn->createStatement(); 

    try
    {
        stmt->execute("USE mysql");   

        res = stmt->executeQuery("show tables"); 
    }
    catch (sql::SQLException e)
    {
        cout << "SQL error. Error message: " << e.what() << endl;
        system("pause");
        exit(1);
    }


    while (res->next())
    {
        cout << res->getString(1) << endl;                
    }

    delete res;
    delete stmt;
    delete dbConn;

    system("pause");
    return 0;
}

问题首先是config.h中的一些错误(第60行,似乎是一个流行的错误)。我试过this,但没有用,但问题以某种方式修复了。现在我收到以下错误:

  

ConsoleApplication1.obj:错误LNK2019:未解析的外部符号   “__declspec(dllimport)public:__ thishisall   sql :: SQLString :: ~SQLString(void)“(__ imp _ ?? 1SQLString @sql @@ QAE @XZ)   函数__catch $ _main $ 0 1&gt;

中引用      

ConsoleApplication1.obj:   错误LNK2019:未解析的外部符号“__declspec(dllimport)   public:__ thiscall sql :: SQLString :: SQLString(class   的std :: basic_string的,类   std :: allocator&gt; const&amp;)“   (__imp _ ?? 0SQLString @ @@ SQL QAE @ ABV?$ basic_string的@ DU?$ char_traits @ d @ @@ STD V'$分配器@ d @ @@ 2 STD @@@ Z)   在函数__catch $ _main $ 0 1&gt;中引用   ConsoleApplication1.obj:

     

错误LNK2019:未解析的外部符号“__declspec(dllimport)   public:__ thishisall sql :: SQLString :: SQLString(char const * const)“   (__imp _ ?? 0SQLString @sql @@ QAE @ QBD @ Z)在函数中引用   __catch $ _main $ 2 1&gt;

     

ConsoleApplication1.obj:错误LNK2019:未解析的外部符号&gt;“__ declspec(dllimport)public:class   的std :: basic_string的,类   std :: allocator&gt; const&amp; __thiscall   sql :: SQLString :: asStdString(void)const“   (__imp_?asStdString @的SqlString @ @@ SQL QBEABV?$ basic_string的@ DU?$ char_traits @ d @ @@ STD V'$分配器@ d @ @@ 2 STD @@ XZ)   在函数“class std :: basic_ostream&gt;&amp; __cdecl std :: operator&lt;&lt;(class)中引用   std :: basic_ostream&gt; &安培;,类   sql :: SQLString const&amp;)“   (?? 6std @@ YAAAV?$ basic_ostream @ DU?$ char_traits @ d @ STD @@@ 0 @ AAV10 @ ABVSQLString @ SQL @@@ Z)   1个GT;

     

ConsoleApplication1.obj:错误LNK2019:未解析的外部符号   函数_main 1中引用的__imp__get_driver_instance&gt; ConsoleApplication1.obj:错误LNK2019:未解析的外部符号   “__declspec(dllimport)public:virtual __thiscall   SQL :: ::的SQLException的SQLException〜(空)”   (__imp _ ?? 1SQLException @sql @@ UAE @ XZ)在函数中引用   __catch $ $ _main 0

我真的不知道如何解决这个问题,我已经尝试了几乎所有内容,如更改库或阅读内容,文档等等,没有任何帮助。任何帮助将不胜感激。

0 个答案:

没有答案