zoukankan      html  css  js  c++  java
  • vs2015编译mysql c++ connector

    目前MySQL Connector/C++的binary版本最高只支持VS2008,VS2015需要下载源码自行编译。

    1.CMAKE

    官网下载最新的稳定版本

    把bin目录添加到环境变量PATH中

    2.Boost

    同样到官网下载最新的稳定版本,可以下载编译好的的版本

    3.MySQL客户端库

    MySQL客户端库头文件在MySQL目录下的include目录中,可以下载mysql的windows版本zip安装包,只解压不安装。

    4.下载MySQL connector/C++源码

    http://dev.mysql.com/downloads/connector/cpp/

    在“select platform”中选择“Source Code”下载解压

    5.生成VS解决方案文件

    (1)x64

    开启一个cmd窗口(管理员权限),进入解压出来的MySQL Connector根目录

    执行

    cmake -G "Visual Studio 14 2015 Win64" -DBOOST_ROOT:STRING=BOOST_X64_DIR -DMYSQL_DIR:STRING=MYSQL_X64_DIR

    其中:

    1. Win64非常重要,否则生成的就是x86的解决方案。
    2. -DBOOST_ROOT:STRING声明boost库的根目录,-DMYSQL_DIR:STRING声明mysql的安装路径,根据自己的配置设置BOOST_X64_DIR和MYSQL_X64_DIR。

     (2)X32

    开启一个cmd窗口(管理员权限),进入解压出来的MySQL Connector根目录

    执行

    cmake -G "Visual Studio 14 2015" -DBOOST_ROOT:STRING=BOOST_X32_DIR -DMYSQL_DIR:STRING=MYSQL_X32_DIR

    其中:

    1. -DBOOST_ROOT:STRING声明boost库的根目录,-DMYSQL_DIR:STRING声明mysql的安装路径,根据自己的配置设置BOOST_X32_DIR和MYSQL_X32_DIR。

    6.编译MySQL Connector

    在MySQL Connector根目录,可以看到生成的.sln文件,双击打开可以看到几十个工程文件,除了库还包括例子、测试等

    在“解决方案资源管理器”窗口,找到 mysqlcppconn工程,右击,选择“生成”

    失败……

    (1) 发现结构体timespec重定义,找到头文件my_global.h,在其开头加入

    #define HAVE_STRUCT_TIMESPEC

    (2)在“输出”窗口,选择输出来源为“生成”,CTRF+F,搜索“error”,可以看到

    >C:Program Files (x86)Windows Kits10Include10.0.10150.0ucrtstdio.h(1927): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration

    其前一行是

    2>  d:inmysql-connector-c++-1.1.6driver ativeapi/mysql_private_iface.h(48): note: 参见“snprintf”的前一个定义

    双击这一行,定位到mysql_private_iface.h的48行,注释掉

    //#if ( defined(_WIN32) || defined(_WIN64) ) && !defined(snprintf)
    //#define snprintf _snprintf
    //#endif

    在“输出”窗口,选择输出来源为“生成”,点击“全部消除”,再次生成工程

    (3)失败……又一次,再看生成信息,同样的问题

    再次双击定位到m_config.h的516行,注释之

    //#define snprintf _snprintf

    7.附上编译之后x32版本的连接库下载地址

      百度云

    8.感谢

      参考了 谢小军 的 csdn博客,感谢!

  • 相关阅读:
    在SharePoint 2010上给用户操作菜单增加一个操作
    查看User Profile的名称和显示名称
    SharePoint列表或表单库使用ID做标题
    SharePoint中User Profile对应于AD的属性
    C#—发邮件方法
    下载和安装ASP.NET MVC
    在InfoPath中利用SharePoint的Lists Web Service向列表提交数据(续一)
    给SharePoint中的User Profile添加属性需要注意的地方
    从PeopleEditor控件中取出多用户并更新到列表
    SharePoint中低权限用户通过提升权限创建用户组
  • 原文地址:https://www.cnblogs.com/zhoudayang/p/5903922.html
Copyright © 2011-2022 走看看