• osx c++连接mysql


      最近想尝试一下使用c++连接mysql数据库。使用封装过后的mysql库mysql++访问mysql数据库更加简单,下述讲述的是如何在osx上搭建连接mysql的环境。

          首先需要安装mysql++,感谢万能的brew install ,只需要一条命令!

        brew install mysql++

          因为我之前已经使用brew安装了mysql数据库,mysql++库的链接与mysql有冲突,在安装之前需要使用unlink命令解除mysql的链接。

         brew unlink mysql

         在安装完mysql连接库之后,此时执行命令

         mysql -u root

          不能连接到mysql数据库,此时只需要修改环境变量,将mysql程序所在文件添加到环境变量即可。

          在 ~/.bashrc中添加这一句(此处需要根据实际情况填写):

         export PATH=$PATH:/usr/local/Cellar/mysql/5.7.11/bin

          果然又可以了!

      

          此时,千万不要傻乎乎的首先unlink mysql-connector-c, 然后link mysql,虽然这样操作可以访问mysql client,但是执行编译的时候,会报错!

          提示找不到:mysql_version.h  等一系列头文件......

          接下来上一个连接mysql的小demo吧!

    #include <iostream>
    #include <mysql++/mysql++.h>
    
    using namespace mysqlpp;
    using namespace std ;
    int main(){
        try{
            Connection conn(false);
            conn.connect("stock","localhost","root");
            Query query=conn.query();
        }catch (BadQuery er){
            cout<<"Error:"<<er.what()<<endl;
            return -1;
        }catch (const BadConversion &er){
            cout << "Conversion error: " << er.what() << endl <<
            "	retrieved data size: " << er.retrieved <<
            ", actual size: " << er.actual_size << endl;
            return -1;
        }catch (const Exception &er){
            // Catch-all for any other MySQL++ exceptions
            cout << "Error: " << er.what() << endl;
            return -1;
        }
    
        cout<<"no problem"<<endl;
        return 0;
    }

      编译命令:

      g++ main.cpp  -o test -lmysqlpp -lmysqlclient

      执行:

      附上使用cmake生成项目的CMakeLists.txt文件,重点在于利用方法target_link_libraries来新增链接参数。

    cmake_minimum_required(VERSION 2.8)
    project (test)
    add_executable(test main.cpp)
    target_link_libraries(test mysqlpp mysqlclient)

      执行:

    cmake .
    make 
    ./test

    have fun!

  • 相关阅读:
    flash 显示对象的getRect()方法的问题
    John Maccarthy
    一个c++ 2d图形引擎 AGG
    lisp 编程入门
    linux图形开发工具
    wxDevC++ – Dev C++的愛好者一定要知道的C++ IDE
    备忘 html5 canvas context2d/3d
    windows下使用boost库可以下载编译好的二进制安装包
    酷壳
    [.NET] : Provider Pattern
  • 原文地址:https://www.cnblogs.com/zhoudayang/p/5419072.html
Copyright © 2020-2023  润新知