• CMake编译Mysql connector C++


    最近工程需要用到Mysql Connector C++的库,从官网上下载的mysql-connector-c++-noinstall-1.1.9-win32版本,链接后程序可以执行,但是到了std::string相关的部分马上报错,查阅官网时发现对开发者的提示是,最好下载源码使用工程同一配置编译链接器的库;

    准备工作:

    1、下载Cmake cmake-3.8.1-win32-x86.msi  用于生成vs的project文件

    2、下载boost库 boost_1_64_0.zip  用于辅助库,不知道哪个版本开始这个MySQL的connector的编译就需要使用到boost库了

    3、准备好安装MySQL的机器上生成的include/lib目录,通常在C:Program FilesMySQLMySQL Server 5.7这个路径下,具体版本具体看。我机器用的是X64的版本。

    4、下载MySQL connector C++的源代码,mysql-connector-c++-1.1.9.zip

    开始:

    1、boost库解压后即可,MySQL路径备好,打开Cmake GUI, 选取源码路径为MySQL connector C++解压后的根目录,选取该目录或者新建一个文件夹作为vs工程文件的生成路径

    2、添加入口点(Entry)

    MYSQL_INCLUDE_DIR:STRING=MySQL的机器上生成的include

    MYSQL_LIB:STRING=**mysqlliblibmysql.lib

    BOOST_ROOT:STRING=**oost_1_64_0

    3、选择编译器,因为我机器安装的是MySQL的X64版本,此处也要生成64位版本的库,选择“Visual Studio 14 2015 Win64”,在指定的工程路径下有对应的MYSQLCPPCONN.sln解决方案,打开后选择项目mysqlcppconn进行编译,得到动态库,mysqlcppconn_static生成静态库

    至此就完成了X64下的MySQL connector C++的编译工作了。

    32位的区别在于选择的编译器为"Visual Studio 14 2015"

    ps:

    其实我很想用命令行的CMake来生成,可是,-G的参数识别不出来带Win64的编译器,没办法就只能使用GUI了~

    当编译完成后,在测试Connector C++的代码运行时提示应用程序无法加载 0xc000007b啥的这种错误,请更换libmysql.dll库文件为标准Connector C中的dll文件,可能与服务器安装目录下的版本不一致导致。

  • 相关阅读:
    Java finally语句到底是在return之前还是之后执行?
    图文介绍openLDAP在windows上的安装配置
    ES之十:ElasticSearch监控工具 cerebro
    ES之八:ES数据库重建索引——Reindex(数据迁移)
    ES index的数据量大于1万的特殊处理场景
    Java中的Hashtable实现方法
    form表单回车提交问题(转)
    ES之九:ES Java客户端Elasticsearch Java client(ES Client 简介、Java REST Client、Java Client、Spring Data Elasticsearch)
    NetBeans 7.0 安装Python插件的方法
    python学习笔记
  • 原文地址:https://www.cnblogs.com/TTaiAL/p/6912600.html
Copyright © 2020-2023  润新知