zoukankan      html  css  js  c++  java
  • Win7+VS2010: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 ,当然也能够是其它文件夹,一般路径不要出现中文字符,空格及特殊字(这个貌似非常重要)。

    详细安装见以下博客:Windows+VS2012环境下编译调试MySQL源代码

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



    2. 開始安装

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


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

    >mkdir bld

    >cd bld

    >cmake ..

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


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

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

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

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


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

    一般使用Nodepad++工具等。

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

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


    3. 调试

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


            然后启动实例,


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

     

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


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

             

    4 .新增问题

    (1)vs2010:

    LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 [F:mysqlldCMakeFilesCMakeTmpcmTryCompileExec2556624813.vcxproj]
    解决的方法:这是因为.NET中的cvtres.exe 与 VS2010中的有冲突。删掉VS2010中的cvtres.exe就能够了(文件夹F:InstallVS2010VCin)。注意install是你安装VS2010的文件夹。


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


  • 相关阅读:
    python 玩转列表list
    Python入门之_水仙花数
    自兴人工智能 字符串
    自兴人工智能 元组
    自兴人工智能 列表
    自兴人工智能 python特点了解
    python走迷宫
    (自兴人工智能) python 元组
    (自兴人工智能) 玩转 python 字符串
    (自兴人工智能)Python 列表(List)的灵活使用
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7069540.html
Copyright © 2011-2022 走看看