C ++ / Mysql Connector:对`get_driver_instance'的未定义引用

时间:2011-09-22 14:14:39

标签: c++ mysql undefined-reference connector

我在这个论坛上发现了一些有关同一错误的主题,但我没有找到解决方案。

我正在努力创作C ++& Ubuntu 11.04上的Mysql连接器。 我的错误是(在遵循官方的Mysql教程之后)

/tmp/ccDmH4pd.o: In function `main':
mysql.cpp:(.text+0xb): undefined reference to `get_driver_instance'
collect2: ld returned 1 exit status

这是我的代码:

int main(){     
    sql::Driver*        driver; // Create a pointer to a MySQL driver object
    sql::Connection*    dbConn; // Create a pointer to a database connection object
    sql::Statement*     stmt;   // Create a pointer to a Statement object to hold our SQL commands
    sql::ResultSet*     res;    // Create a pointer to a ResultSet object to hold the results of any queries we run

    driver = get_driver_instance();
    dbConn = driver->connect(server, username, password);


        delete dbConn;
        return 0;
    }

以下是我的包含:

#include "mysql_driver.h"
#include "mysql_connection.h"

// Include the Connector/C++ headers
#include "cppconn/driver.h"
#include "cppconn/exception.h"
#include "cppconn/resultset.h"
#include "cppconn/statement.h"

先谢谢大家

とうき

2 个答案:

答案 0 :(得分:0)

get_driver_instance()函数不在全局命名空间中,而是在:: sql :: mysql中。所以你必须使用正确的名称:

::sql::Driver *driver = ::sql::mysql::get_driver_instance();

答案 1 :(得分:-1)

LIBPATH = -L/usr/lib/ -lmysqlcppconn -lmysqlclient_r