最近想尝试一下使用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 -;
}catch (const BadConversion &er){
cout << "Conversion error: " << er.what() << endl <<
"\tretrieved data size: " << er.retrieved <<
", actual size: " << er.actual_size << endl;
return -;
}catch (const Exception &er){
// Catch-all for any other MySQL++ exceptions
cout << "Error: " << er.what() << endl;
return -;
} cout<<"no problem"<<endl;
return ;
}

  编译命令:

  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!

最新文章

  1. C#中级-开机自动启动程序
  2. Learning to Rank 之 listwise ranking
  3. Mysql:The table‘xxxx’is full
  4. vs 2010 中类文文件模板的修改
  5. 搭建WP8开发环境
  6. MySQLdb模块 类操作方法
  7. PCA人脸识别
  8. 存储过程系列之调试存储过程 SQL Server 2005
  9. .ARM.exidx
  10. python用Django+Celery+Redis 监视程序(一)
  11. SNF软件开发机器人-子系统-功能-【列表】自由排序-如何配置?
  12. Redis配置文件 redis.conf 解读(一)
  13. [源码]K8 Cscan模块 C#获取内网主机IP/机器名/Banner/网页标题源码
  14. js验证后台传递的map数据是否为空
  15. 10、Dockerfile实战-PHP
  16. axios post请求报错
  17. 生产者消费者模型(Queue,JoinableQueue)
  18. 浅谈IC行业产业链以及贸易商在产业链中的作用  2008-10-16 12:45[转自Michael的博客]
  19. filebeat+kafka+SparkStreaming程序报错及解决办法
  20. PHP域名whois查询代码(数据源万网、新网)

热门文章

  1. MQ日常维护操作手册
  2. DP CF 319 div1B
  3. Ubuntu Linux 环境变量
  4. linux创建vg、lv
  5. winxp iis5中修改最大连接数及添加多个站点
  6. 最新百度地图支持Fragment(注意事项)(转)
  7. Swift中异常处理(续集.正则)
  8. 2015浙江财经大学ACM有奖周赛(一) 题解报告
  9. Apache Commons工具集简介(转)
  10. hibernate--coreapi--configuration sessionfactory--getcurrentsession--opensession