当前位置:   article > 正文

mysql 源码 sln_Win7+VS2010:mysql 源代码编译与调试

vs 调试 mysql源码

win7+vs2010源代码编译mysql

近期因为在实习,工作重点在于一些数据库的开发,为了更好的理解数据库的实现机制。眼下萌生了要研究一下mysql数据库源代码的想法。那么好吧,说干就干。首先我们须要实现对源代码的编译。这里我们选择win7+VS2010来实现,可是试了非常多次都失败了。这是我多次配置环境时遇到的问题,各种博客文章总是不太全然,或者说没有说明一些遇到的问题的解决方式,这可能跟详细的操作系统和环境有关。本文就说说我安装的情况。

1. 准备工作

(1)OS:win7 旗舰版 64位 + VS2010  (2013也试过了)

(2)mysql 源代码(windows版):mysql-5.6.19.zip  (下来框选择source code)

(3)perl tool:ActivePerl-5.16.3.1604-MSWin32-x64-298023.msi

(4)Cmake:cmake-3.0.0-win32-x86 .exe

(5)Bison:bison-2.4.1-setup.exe

安装须要注意的几点。一般安装在根文件夹下。如C:\Cmake  C:\GnuWin32 C:\Perl64 ,当然也能够是其它文件夹,一般路径不要出现中文字符,空格及特殊字符(这个貌似非常重要)。

除了Bison安装须要注意意外。其它差点儿都是默认安装,这些细节最好遵守。以免兴许出错。Perl, Cmake, Bison安装完事之后,将他们安装文件夹下的bin所在路径加入环境变量中(windows环境变量加入)。如C:\Cmake\bin.好了至此基本ok。保险起见我们须要验证一下安装是否成功:

7069540.html

7069540.html

d2050c16bffe3f3afaa03d9b572701a0.png

2. 開始安装

在随意你喜欢的盘里面创建一个用于安装的文件夹:如在D盘创建mysql然后将mysql-5.6.19.zip解压到该文件夹下。然后在cmd中切换到安装文件夹,此处即为D:\mysql\mysql-5.6.19。记({install}=D:\mysql\mysql-5.6.19),其下包括例如以下文件文件夹:

92b32755f04c6e12e983a2cc1e6145cd.png

然后在{install}下运行下面命令:

>mkdir bld

>cd bld

>cmake ..

这样你可看到类似例如以下的输出:

ad9f788e3f5783a37fc00959dfbc271d.png

有一些错误。眼下也没有解决,但事实上这并不影响我们生成VS下MySQL.sln project文件。

事实上仅仅要看到以下这个就能够了,各种not found也不要紧。

假设採用Cmake图形界面,事实上也几乎相同了。这里不再赘述。

fa655824a7f903f44361eebc25927a83.png

下一步我们就能够在VS2010中build solution了(相应生成解决方式),但为了尽可能降低警告或错误。我们首先须要对下述文件进行改动:

40a8e8d6fee1ec95946a95a4a54e503f.png

改动的方法非常easy。就是将这些文件以UTF-8(带BOM头的)格式保存。

一般使用Nodepad++工具等。

最后一步就是找到{install}\mysql-5.6.19\sql\mysqld.cc中的test_lc_time_sz()函数,将当中的DBUG_ASSERT(0)改为DBUG_ASSERT(1)就可以。

至此我们就完毕了将源代码转换成VS中project文件的目的。之后我们就能够build solution了。假设没有错误说明就已经没有问题了,一些小的警告可能是由于C++编译器比C编译器严格的缘故。下一步我们開始调试。

3. 调试

然后将mysqldproject的Debug的:属性->调试->命令參数。设为--console,例如以下:

Center

然后启动实例,

Center

这样就能够看到以下的命令行界面:

8c7da81f1e5b103f65fee57023050697.png

cmd下进入到文件夹{install}\client。然后运行例如以下命令。就能够開始连接到刚刚开启的mysql服务了。这说明mysql服务已经启动。下一步就是启动mysql客服端,这里我是採用命令行的启动方式。

Center

好了至此,我们基本完毕了在win7下实如今vs下编译调试mysql数据库的目的。以下就能够開始研究源代码了。

4 .新增问题

(1)vs2010:

LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 [F:\mysql\bld\CMakeFiles\CMakeTmp\cmTryCompileExec2556624813.vcxproj]

解决的方法:这是因为.NET中的cvtres.exe 与 VS2010中的有冲突。删掉VS2010中的cvtres.exe就能够了(文件夹F:\Install\VS2010\VC\bin)。注意install是你安装VS2010的文件夹。

为了更好地为后来者指明方向,也为了今后便于自己查询,故做了这个简单的指南。也希望依照这篇文档安装的朋友遇到不论什么问题可以一起探讨,然后不断完好该文档。以便后来者可以因此而受用,同一时候营造一个负责人写稿的氛围。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/536486
推荐阅读
相关标签
  

闽ICP备14008679号