vs2015编译mysql-connector-cpp-1.1.9
来源:互联网 发布:淘宝店怎么发布宝贝 编辑:程序博客网 时间:2024/06/05 10:49
在下载的Connector.C++里面有提供lib和dll使用,不过如果项目用的是新的IDE开发,就需要自己编译connector。这里IDE是vs2015,操作系统是win10,mysql-connector-cpp的版本是1.1.9,同时会用到github和cmake。
下载源代码
git clone https://github.com/mysql/mysql-connector-cpp.git
因为要编译的版本是1.1.9,所以切换分支
git checkout -b v1.1.9 1.1.9
运行 vs2015 x86本机命令提示符,进入到源代码根目录,运行cmake命令
cmake -G "Visual Studio 14 2015"
如果想生成64为版本,就改成
cmake -G "Visual Studio 14 2015 Win64"
具体命令可以查看帮助
cmake --help
要注意的是,如果你想生成32位版本,那么你要指定32的mysql的lib,64位版本同理。具体说来就是假设你安装了64位的mysqlserver,那么在mysql server目录下的lib就是64位的,这个就只能用来生成64位的connector。
如果生成工程文件成功,那么恭喜你,可以跳过接下来的一部分内容。但是如果很不幸的生成失败,可以参考下下面的内容。打开根目录下的:CMakeFiles\CMakeError.log,提示:LINK : fatal error LNK1158: 无法运行“rc.exe”。
看这报错,应该是找不到rc.exe。但是这个应该在VC++目录里面应该是能找到的,通常是在C:\ProgramFiles(x86)\Windows Kits目录里面。本机的rc.exe在C:\ProgramFiles(x86)\Windows Kits\10\bin\10.0.15063.0\x86。这里10.0.15063.0是win10的版本。在命令行通过set查看path
set
通过where查看是否能找到rc.exe
where rc.exe
果然path里面没有包含rc.exe所在的路径,所以生成失败。我分析是由于更新导致命令行默认的path不包含新的rc.exe所在的路径。这里win10更新后rc.exe跑到了新的版本目录下10.0.15063.0,而命令行path并没有把新的路径包含进来,所以运行cmake找不到rc.exe。 在命令行临时加上rc.exe所在的路径
set path=%path%;C:\Program Files (x86)\WindowsKits\10\bin\10.0.15063.0\x86
竟然生成失败,关掉命令行窗口,重新打开再来一次,这次把rc.exe所在的路径放在最前面
set path=C:\Program Files (x86)\WindowsKits\10\bin\10.0.15063.0\x86;%path%
终于不再提示无法运行rc.exe了,不过报错:fatalerror C1083: 无法打开包括文件: “pthread.h”
这是因为connector用到了boost,所以要指定boost所在的路径。
还有,得指定mysql server所在路径。
最终命令如下
cmake -G "Visual Studio 14 2015"-DBOOST_ROOT=E:\GitRepo\BoostDemo\External\boost_1_63_0\Include-DMYSQL_DIR="D:\Program Files (x86)\MySQL\MySQL Server 5.7"
生成成功,在根目录下可以找到.sln文件,用vs2015打开,编译项目mysqlcppconn和mysqlcppconn-static。这两个分别生成动态库和静态库。
不过在生成mysqlcppconn-static又碰到了问题:LINK:fatal error LNK1181: 无法打开输入文件“D:/Program”。
看这个提示,估计是路径没用双引号括起来,于是打开项目属性->库管理器->所有选项->附加选项,给路径加上双引导,保存,重新编译。最终编译成功。生成的lib在目录driver下。
推荐参考文章
https://msdn.microsoft.com/zh-cn/library/ee855621.aspx
https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
- vs2015编译mysql-connector-cpp-1.1.9
- ubuntu12.04安装mysql-connector-c-6.1.6和mysql-connector-cpp-1.1.6
- VS2005 编译mysql-connector-c++-1.1.3
- linux mysql-connector-c++-1.1.5 编译
- 编译mysql connector c++
- VS2010编译mysql-connector-c++
- VS2010编译mysql-connector-c++
- mysql-connector-c++ +vs2013x64 编译
- VS2015 使用Mysql-connector/c++ 链接数据库(环境配置)
- VS2010+CMAKE自己编译MySQL Connector C++
- 编译和使用 MySQL C++ Connector
- Mysql Connector C++ 在VS2008下编译
- VS2013 编译 MySql Connector C 6.1.6
- activemq-cpp-library在VS2015下的编译
- cmake、Visual Studio编译“MySQL Community Server”、“MySQL Connector/C”、“MySQL Connector/C++”
- MySQL Connector
- mysql-connector
- mysql Connector C++在centos上的编译
- 303. Range Sum Query
- 安装NVIDIA显卡驱动+CUDA+CUDNN+NVCAFFE的问题总结
- bzoj 2829 计算几何
- 8.7 约数个数shlqsh 2535
- 堆排序
- vs2015编译mysql-connector-cpp-1.1.9
- Thread的join方法
- USACO JAN14 奶牛冰壶运动 凸包+判定
- 11-SpringBoot——Spring MVC基础-常用注解
- Bootstrap 斜体、文本对齐、缩略图、地址、列表等
- Linux基础知识
- 自定义javascript日历控件
- 【NOIP2011PJ】瑞士轮
- Scrapy--安装