zoukankan      html  css  js  c++  java
  • 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文件,可能与服务器安装目录下的版本不一致导致。

  • 相关阅读:
    CentOS 7.4 安装python3及虚拟环境
    【抓包工具之Fiddler】增加IP列;session高亮
    【抓包工具之Fiddler】导出jmeter脚本
    Python2.7 Centos安装
    Centos 轻松升级 GCC 不改变系统环境
    GraphLab 安装 出错 "Cannot uninstall 'boto'" "Cannot uninstall 'certifi'"
    Centos6 使用 gbdt lightgbm "libc.so.6: version `GLIBC_2.14' not found" "Segment Fault"
    Linux 安装 gbdt xgboost lightgbm
    Sudo Permission Denied
    Linux Load Average高但磁盘IO和CPU占用率不高的可能原因
  • 原文地址:https://www.cnblogs.com/TTaiAL/p/6912600.html
Copyright © 2011-2022 走看看