[HOW-TO] Windows平台如何编译MySQL代码

[HOW-TO] Windows

平台如何编译 MySQL 代码

作者:王猛

([email protected])

修订:初始

日期:

2003 年 7 月 13 日

说明:这不是一篇论文也不是代码阅读指导,写这篇文章的目的只是告诉朋友们如何编译

MySQL

代码,或许有些人觉得从

Windows 平台编译 MySQL 的代码有些复杂,其实不然。如果您对本文中所提到的知识有任何疑问可以透过 CSDN 的 MySQL 板或者 MySQL@CHINA 支援论坛寻求帮助。这篇文章中所提到的东西没有任何的创新性,只是对 MySQL 已有文档的总结。

一、为什么要编译代码

小的时候妈妈就告诉我做事情要先有个打算,不然就做不成事情,所以要有个目的。我不知道阅读这篇文章的朋

友你是否会注意

MySQL 手册。 MySQL 在线手册近期呈现一种 “ 超越 ” 趋势,手册中所描述的内容很大部分都是开发版本中才能找到的,我希望自己在阅读的同时获得试验的机会。同时,我也和其他朋友一样痛恨软件中存在各种 BUG ,所以我要自己编译代码。当然,最开始我的初衷是希望借助 Intel C++ 重新编译 MySQL 的代码获取更好的性能。

二、编译代码要如何准备

这一部分包含下列要点,请务必注意。

编译器

■ Cygwin

内存

耐心

编译器,编译

MySQL 代码可以使用 Cygwin 下的 GCC 以及 VC6.0,VC7.1 。如果您使用 Intel C++

的话,我建议您配合

VC6.0 使用。不推荐使用 VC 7.0 的原因是其本身所存在的 BUG (已经修复,但不公开提供。),如果不装补丁的话那么会造成错误(关于 inline 优化可以暂时解决)。 VC6.0 请安装 SP4 或 SP5 以及对应的处理器支持补丁包。

Cygwin

, MySQL 的代码绝大部分是在 Linux 编写,所以很多实用工具以及配置脚本都是 *nix 风

格,因此我们需要借助

Cygwin 这一 Unix 模拟环境。安装时请选择上 autoconf automake gnu make libtool bison perl 。另外一点, MySQL 的开发使用 bk 进行管理,而 bk 的客户端也需要借助 cygwin 运行。如果只想编译官方发布的 Windows 代码,那么可以不去关心这些。

内存,编译

MySQL 代码非常消耗时间,至少我是这么觉得。我建议有一个足够大内存的机器,

否则会让你有种生不如死的感觉(夸张

ing... )。

耐心,第一次编译

MySQL 尤其是开发中的代码难免会遇到各种各样的麻烦,尝试去克服它们。

没有人第一次就应该成功,假设连这些小问题都无法解决那么谈何阅读代码?所以,多少给自己点信心,也多少有些耐心。

三、获取资源

我希望阅读完毕第二节朋友已经准备好了大部分东西,除了编译器、

cygwin 之外我们还需要准

bk 的客户端,可以前往 www.bitkeeper.com 下载回来。如果你不知道 cygwin 的网址那么请到这里寻找 www.cygwin.com

当准备妥当工具后我们访问

mysql.bkbits.net ,在这里我们可以看到一个表格。这里的表格每一

项目都对应着一个

mysql 的项目,我们关心的是名为 mysql-4.1 的项目,这是目前的主要工作重点 MySQL 4.1.x 版本的开发树。

获取代码:

shell> bk clone bk://mysql.bkbits.net/mysql-4.1 mysql-4.1

更新代码:

shell> bk pull bk://mysql.bkbits.net/mysql-4.1 mysql-4.1

通过上边两个命令,我们就可以得到并随时同步开发中的

MySQL4.1.x 代码,第一次下载的话整个过程很慢大约有 100 多 M 的东西需要下载,然后还要解压缩然后合成代码。 mysql.bkbits.net 列出的其他项目分别是:

mysql-4.0

|

MySQL 4.0.X

开发树

mysqldoc

|

MySQL

文档

mysqlodbc3

|

MySQL ODBC

驱动

mysql-3.23

|

MySQL 3.23.X

开发树,昨日黄花。

mysql-4.1

|

MySQL 4.1.x

开发树,工作重点。

mysql-5.0

|

MySQL

下一代版本

mysqlcc

|

MySQL

控制中心

myodbc-3.52

|

初始兼容 MySQL 4.1 的 odbc 驱动

我们都可以使用同样的方式获取并随时同步代码。

四、产生

Windows 代码

默认下载回来的代码并不适合直接就用,把代码

copy 到另外的目录,然后使用 BUILD 目录下

的实用工具

compile-pentium-max 配置代码,配置完成后使用 scripts 目录下的实用工具 make_win_src_distribution 产生一个适合 Windows 使用的代码,这种方式得到的代码如同官方下载所提供的代码,最终成品是一个 tar 打包。执行这些实用工具,也就是 shell 脚本需要在代码树的顶级目录。

五、编译代码

当完成了上述工作之后编译代码应该是最为轻松的,直接用

VC 6.0 或者 VC.NET 2003 打开工程

文件编译就可以了。整个过程中并不需要其他的类库进行辅助,也什么难点。

相关网址:

MySQL@CHINA www.help2u.org

MySQL AB www.mysql.com

MySQL

邮件列表 lists.mysql.com

MySQL

缺陷跟踪 bugs.mysql.com

最后,祝福各位好运。另外也是最重要的。通过本文所述方式获得的

MySQL 代码遵循 GPL 协议,关于GPL的详细信息请自行查阅。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus