MySQL C ++ Connector安装

时间:2015-06-16 19:39:31

标签: c++ mysql macos mysql-connector

我正在用c ++编写一个应用程序,它使用MySQL数据库来存储和收集数据。我遇到的问题是我似乎无法安装和运行MySQL C ++ Connector。文档非常不清楚 - IMO - 并没有涵盖安装它的所有步骤,以便我可以将lib导入我的项目文件。

我已经做过的事情:

  • 搜索互联网寻求帮助,找不到一个好的工作答案;
  • 尝试手动将lib文件复制到/ usr / local / libs /,现在工作一半;]
  • 尝试安装Boost库(MySQL Connector所需),可以正常工作,但仍然会给我编译错误。

所以,你可以看到我已经尝试了很多。我已经多次更改了我的源代码,并提供了一些我可以在互联网上找到的示例和可能的修复,但似乎没有一个真正起作用。您可以查看我下面的代码的最新部分。

我不知道连接器现在是否正常工作,因为它确实构建没有任何错误。但是,当我执行程序时,我得到的是以下错误:

  

分段错误:11

我正在Mac OS X上构建/编译,所以我需要在该机器上安装连接器。我使用Sublime作为IDE(我知道它不是IDE,但它工作得非常好!)和g ++作为编译器。

另请注意,我是c ++编程的初学者(读作并非专家:)),因此我可能会在我的代码或程序中犯一些“巨大”的错误来安装此连接器。

感谢您的阅读,并希望听到一些有用的答案!

Qlii256

源代码:

#include <iostream>

#include "mysql_driver.h" 
#include "mysql_connection.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>

using namespace std;

int main()
{
    //sql::Driver *driver;  // Using mysql::MySQL_Driver instead, found this fix on stackoverflow
    sql::mysql::MySQL_Driver *driver;
    sql::Connection *conn;
    sql::Statement *stmt;
    sql::ResultSet *res;
    char e;

    // Try a mysql db connection
    try
    {
        driver = sql::mysql::get_driver_instance();  // create new db instance

        conn = driver->connect("127.0.0.1:3306", "username", "password");  // Connect to the db

        conn->setSchema("database_name");  // Select database to use
    }
    catch ( sql::SQLException &e )
    {
        cout << "MySQL error occured: " << e.getSQLState() << endl;
    }

    cout << "We are connected!" << endl;

    return 0;
}

1 个答案:

答案 0 :(得分:0)

我在遇到类似问题时也发现了这个老问题,也是在mac上。我的解决方案是使用brew。

brew install mysql-connector-c++