zoukankan      html  css  js  c++  java
  • Visual Studio 2015编译64位MySQL Connector/C++

    目前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

    其中:

    1. Win64非常重要,否则生成的就是x86的解决方案。
    2. -DBOOST_ROOT:STRING声明boost库的根目录,根据自己的配置设置它的值。

    编译MySQL Connector

    在MySQL Connector根目录,可以看到生成的.sln文件,双击打开

    几十个工程文件,除了库还包括例子、测试等

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

    失败……

    在“输出”窗口,选择输出来源为“生成”,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

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

    失败……又一次

    再看生成信息,同样的问题

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

    //#define snprintf _snprintf

    再生成

    闪过几屏的警告信息后,编译成功

    全部编译

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

    最后成功十多个工程,失败十多个工程,不用理会失败的

    这时候就得到VS2015下的库文件、例子工程了

  • 相关阅读:
    ORACLE 循环
    C#生成指定数目的互不相同的随机数(转)
    Oracle自治事务的介绍
    螺旋矩阵--我的实现方法
    一个体育生的编程之路(一)
    判断十二星座——我的算法,大家看是不是比较简便
    简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
    使用VC和DirectShow从摄像头中读取图像(一)
    1999那个追着打我的女生
    我自己写的几个C++常用方法
  • 原文地址:https://www.cnblogs.com/sqxy110/p/4886850.html
Copyright © 2011-2022 走看看