首先在github上下载mysql-connector-cpp
git clone https://github.com/mysql/mysql-connector-cpp.git
git上面有两个分支,2.0版本是支持mysql作为文档存储的接口,1.1版本是支持正常的关系数据库存储接口
首先我们编译安装2.0版本,进入代码目录执行
cmake .
cmake –build . –config CCC
cmake –build . –target install –config CCC
到这里已经安装完毕.
然后到testapp下编译测试样例
cmake .
提示出错,WITH-CONCPP没有设置,我试了编辑/etc/profile文件,设置这个变量为/usr/local/mysql/connector-c++-2.0/,但是仍然提示没有设置,于是我将CMakeLists中的
set(WITH_CONCPP $ENV{WITH_CONCPP} CACHE PATH “MySQL Connector/C++ 2.0 install location”)
改为
set(WITH_CONCPP “/usr/local/mysql/connector-c++-2.0/” CACHE PATH “MySQL Connector/C++ 2.0 install location”)
继续cmake .
提示出错,在/usr/local/mysql/connector-c++-2.0/lib64下找不到依赖库
那么将目录下生成的 libmysqlcppconn2.so libmysqlcppconn2.so.1 libmysqlcppconn2.so.1.0 拷贝到/usr/local/mysql/connector-c++-2.0/lib64中,没有的创建一个即可。
cmake .
make
在run文件夹下面生成了两个可执行文件
devapi_test xapi_test
这两个文件的区别在于,xapi_test实现了c的接口,是通过mysql的一个叫做x plugin的插件连接mysql的,而devapi则是使用了c++的接口。所以如果使用xapi接口的话,mysql安装时必须安装x plugin
接下来编译安装1.1版本,先将当前的改动都commit了,然后
git checkout 1.1,
cmake .
如果出错。
报缺少boost库错误,可以
sudo apt-get install libboost-all-dev
报缺少mysql.h等错误,可以通过sudo apt-get install libmysql++-dev
然后make
sudo make install
然后将生成的动态库拷贝的/usr/local/lib下
sudo cp libmysqlcppconn.so* /usr/local/lib/