数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
[HOW-TO] Windows平台如何编译MySQL代码

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

作者:王猛 ([email protected])

修订:初始

日期:2003713

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

代码,或许有些人觉得从Windows平台编译MySQL的代码有些复杂,其实不然。如果您对本文中所提到的知识有任何疑问可以透过CSDNMySQL板或者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请安装SP4SP5以及对应的处理器支持补丁包。

CygwinMySQL的代码绝大部分是在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代码,第一次下载的话整个过程很慢大约有100M的东西需要下载,然后还要解压缩然后合成代码。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.1odbc驱动

 

 

 

 

 

 

 

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

四、产生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的详细信息请自行查阅。

 




相关文章

相关软件