在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
目前MySQL Connector/C++的binary版本最高只支持VS2008,VS2015需要下载源码自行编译。 尽管MySQL手册提供了信息,但在编译过程中还是有不少细节需要注意。
CMAKE 到官网下载最新的稳定版本 把bin目录添加到环境变量PATH中
Boost 同样到官网下载最新的稳定版本
MySQL客户端库 MySQL客户端库头文件在MySQL目录下的include目录中 是的,编译connector还需要下载一个MySQL Server 添加环境变量MYSQL_DIR,值为MySQL Server根目录 cmake会到MYSQL_DIR/include下查找头文件
下载MySQL connector/C++源码 http://dev.mysql.com/downloads/connector/cpp/ 在“select platform”中选择“Source Code” 下载解压
生成VS解决方案文件 开启一个cmd窗口,进入解压出来的MySQL Connector根目录
执行 cmake -G "Visual Studio 14 2015 Win64" -DBOOST_ROOT:STRING=d:/bin/boost159
其中:
编译MySQL Connector 在MySQL Connector根目录,可以看到生成的.sln文件,双击打开 几十个工程文件,除了库还包括例子、测试等
在“解决方案资源管理器”窗口,找到 mysqlcppconn工程,右击,选择“生成” 失败……
在“输出”窗口,选择输出来源为“生成”,CTRF+F,搜索“error”,可以看到 >C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt\stdio.h(1927): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration 其前一行是 2> d:\bin\mysql-connector-c++-1.1.6\driver\nativeapi/mysql_private_iface.h(48): note: 参见“snprintf”的前一个定义 双击这一行,定位到mysql_private_iface.h的48行,注释掉 //#if ( defined(_WIN32) || defined(_WIN64) ) && !defined(snprintf) //#define snprintf _snprintf //#endif
在“输出”窗口,选择输出来源为“生成”,点击“全部消除”,再次生成工程 失败……又一次 再看生成信息,同样的问题 再次双击定位到m_config.h的516行,注释之 //#define snprintf _snprintf
再生成 闪过几屏的警告信息后,编译成功
全部编译 在“解决方案资源管理器”窗口,右击解决方案, 选择“生成解决方案” 最后成功十多个工程,失败十多个工程,不用理会失败的 这时候就得到VS2015下的库文件、例子工程了
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论