Visual Studio 13编译MYSQL CONNECTOR C/C++ (MYSQLCPPCONN)

所需工具

CMAKE
BOOST
MySQL Community Server 安装版绿色版都行
MySQL Connector/C 下载源码
MySQL Connector/C++ 下载源码
Visual Studio 不说了, 没它拿啥编译

编译代码

  1. 安装MySQL Server, 最好可以正常跑起来

  2. 安装CMAKE

  3. 编译Connector/C(因为Connector/C++依赖Connector/C)
    解压缩源码, 比如释放到F盘, 并改名为mysqlc(纯粹为了方便说明)
    打开CMAKE-GUI(在安装目录里找), Source Path选择”F:\mysqlc”, Build Path选择”F:\buildc”
    Build Path可以和Source Path一样
    点Configure, 选择编译器与平台, 点Finish, 出现”Configuring done”后点Generate
    出现”Generating done”后, CMAKE部分完事儿
    在”F:\buildc”里找项目文件(sln), 打开, 编译(注意Debug与Release), C组件搞定

  4. 编译Connector/C++
    解压缩, 改名mysqlcpp
    打开CMAKE-GUI, 目录选”F:\mysqlcpp”和”F:\buildcpp”
    点Configure, 出现错误, 需要BOOST, 解压到”F:\boost”
    CMAKE界面点击”Add Entry”(添加环境变量)
    Name=”BOOST_ROOT”, Type=”String”, Value=”F:\boost”, OK
    再点Configure, 出错, 找不到”mysql.h”, 打开FindMySQL.cmake查看内容, 再添加环境变量
    Name=”MYSQL_INCLUDE_DIR”, Type=”Path”, Value=”F:\mysqlc\include”, OK
    再点Configure, 出错, 缺”MYSQL_LIB”, 注意, 这里决定动态链接还是静态链接若静态链接, 添加环境变量, Name=”MYSQLCLIENT_STATIC_LINKING”, Type=BOOL, Value打钩再添加环境变量, Name=”MYSQL_LIB”, Type=”FILEPATH”, Value=”F:\buildc\libmysql\Release\mysqlclient.lib”(静态链接)或者 “F:\buildc\libmysql\Release\libmysql.lib”(动态链接)
    再点Configure, 出错, 需要MySQL Server版本
    再添加环境变量, Name=”MYSQL_VERSION”, Type=”String”, Value=”x.x.x”(MySQL Server版本号)
    再点Configure, 可以安心等一会儿了, 出现”Configuring done”再点Generate
    完事儿后就可以编译去了
    编译时还会出错(有完没完?), 缺文件
    从MySQL Server的安装目录的include里找my_config.h/mysql_version.h/mysqld_error.h三个文件
    复制到”F:\mysqlc\include”中
    继续编译, 出错(要疯了), “MYSQL_TYPE_JSON”未定义, 看源码得知这东西应该是个枚举类型
    但值是多少? 搜索引擎, 搜索时带上另一个枚举的名字
    比如我这样搜索”MYSQL_TYPE_JSON MYSQL_TYPE_NEWDECIMAL”
    得知”MYSQL_TYPE_JSON=245”, 加进去
    继续编译, 终于大功告成, 编译成功.

总结

编译Connector/C很简单, 几步就搞定.
而编译Connector/C++就比较坎坷了, 熟练后事先添加环境变量会好很多
BOOST_ROOT String
MYSQL_INCLUDE_DIR Path
MYSQL_LIB FilePath
MYSQLCLIENT_STATIC_LINKING BOOL
MYSQL_VERSION String
注: Connector/C++依赖MYSQL的SDK, 尽量使用Connector/C带的文件, 没有再去MySQL Server里找文件
编译时注意Debug/Release, MD/MT等参数, 要保持一致

CMAKE 3.5.0 非安装板
BOOST 1.60.0
MySQL Community Server 5.6.30 非安装版
MySQL Connector/C 6.1.6
MySQL Connector/C++ 1.1.6
Visual Studio 2013

你可能感兴趣的:(C++)