Win10 Use VS2015 Debug MySQL5.7.24 Source Code

Win10 环境下 编译MySQL5.7.24 源码,综合网上材料我自己 写了一套,供参考,

特别是 C,C++ 因不一样的环境下 报错情况不一样,只要仔细阅读错误,在网上查询能找到解决方式。

一、软件准备: 
①Cmake : https://cmake.org/download/  (3.14版本也可)

②ActivePerl: ActivePerl 

③boost库: https://sourceforge.net/projects/boost/files/boost-binaries/1.59.0/ 下载exe文件安装到指定目录

④MySQL 源码: https://dev.mysql.com/downloads/mysql/

⑤bison 安装

⑥visual studio 2015 安装部署

     一定注意安装Win10 SDK,如下图: 

这里写图片描述

这里写图片描述

二、生成VS2015 MySQL工程

运行cmake-gui,选择需要编译的源码,和目的目录。 
Where is the source code : 选择解压后的源码 
Where to build to the binaryies : 选择目的目录,这里我们选择同目录下的debug目录。 

这里写图片描述
接下来需要配置boost库,点击Add Entry添加boost库配置项。 
Name: WITH_BOOST 
Value: 选择第一步中boost库的安装目录

这里写图片描述

接下来我们点击Configure, 选择目标VS版本, 点击Finish后,等待运行结束,需要一定时间。 

这里写图片描述
过程中会遇到以下的Warning,可以忽略。不影响最终debug。 

最后一部,点击Generate生成VS2015工程, 我们用VS2015打开MySQL.sln工程就可以了。

这里写图片描述

VS2015调试MySQL 有几个细节要注意。 

1) 编码格式更改成 utf-8

ctype-czech.c
ctype-latin1.c
decimal.c
thr_mutex.c
ut0men.h
sql_locale.cc 编码格式更改成 utf-8
2) mysql.cc 文件中函数test_lc_time_sz 最后的DBUG_ASSERT(0); 需要改成DBUG_ASSERT(1);

 

3) 添加参数 --initialize --explicit_defaults_for_timestamp

先初始化MySQL数据库(否则会报mysql.user表不存在)
  VS2015调试开始调试前,用VS运行一下mysqld初始化一个默认的数据库实例。一定是debug mysqld子工程设置为启动工程。 

 

ERROR:

不要直接看 error,要配合警告日志 一起看。
1)bison.exe: m4: Invalid argument

if i copy m4.exe to local folder and execute the above 
command it generates without any problem
2)因为sql_locale.cc 包含 其他国家语言,因操作系统原因不支持,把对应的部分进行删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值