在Visual Studio 2010 SP1 下编译VirtualBox

 1. 系统环境

        A)  Windows 7专业版 Service Pack 1 32 位

        B)  Microsoft Visual Studio 2010

              版本 10.0.40219.1 SP1Rel

        C)  VirtualBox 4.2.10

    2. 所需开发包安装及编译

        2.1 Windows SDK v7.1

            For Windows 7 and .NET Framework 4      

            采用默认的安装方式,安装路径分别为:

            DestinationFolder for Tools

                C:\Program Files\Microsoft SDKs\Windows\v7.1

            DestinationFolder for Samples

                C:\Program Files\MicrosoftSDKs\Windows\v7.1\Samples

            这种方式安装过程失败,会弹出下对话框。

在Visual Studio 2010 SP1 下编译VirtualBox

 

            随后,分别执行如下安装程序

            H:\Setup\WinSDKBuild\WinSDKBuild_x86

            H:\Setup\WinSDKSamples\WinSDKSamples_x86

            这两个安装程序执行后,表明SDK已安装完成,安装目录与默认的安装方式一致。

            说明:H:\表示GRMSDK_EN_DVD.ISO文件使用虚拟光驱软件打开后,映射的盘符。

        2.2 Windows DDK v7.1

           采用默认的安装方式,安装目录为C:\WinDDK\7600.16385.1

        2.3 MinGW

           2.3.1 MinGW Installation Manager的安装

               采用默认的安装方式,安装完成后,安装MinGW Base System,主要包括

               mingw32-binutils\mingw32-gcc\mingw32-gcc-g++\mingw32-gdb等.

           2.3.2 gcc-core-3.3.3-20040217-1.tar解压及替换

               解压gcc-core-3.3.3-20040217-1.tar文件,并将解压后的bin和lib子目录覆盖到C:\MinGW的目录下,

               替换同名文件。

           2.3.3 gcc-g++-3.3.3-20040217-1.tar解压及替换

               操作方式同2.3.2,include目录也一并覆盖并替换。

           2.3.4 mingw-runtime-3.8.tar解压及替换

               操作方式同2.3.2

           2.3.5 w32api-3.5.tar解压及替换

               操作方式同2.3.2

           2.3.6 binutils-2.13.90-20021006-2.tar解压及替换

               操作方式同2.3.2

           2.3.7 验证MinGW

               通过CMD命令窗口,执行gcc –v命令验证MinGW当前使用的gcc版本,如果上述操作成功,

               那么显示的gcc版本为3.3.3

        2.4 Qt4的安装

            安装文件为qt-opensource-windows-x86-vs2010-4.8.6,默认安装

        2.5 curl的安装

            下载并解压curl-7.42.1.tar.gz文件,解压后,在vs2010中打开solution文件

            D:\vbox_binutils\curl-7.42.1\projects\Windows\VC10,

            选择配置为DLL Release,编译完成后,将curl-7.42.1\build\Win32\VC10\DLLRelease

            目录下的libcurl.dll和libcurl.lib拷贝至

            C:\curl-7.40.0-devel-mingw32目录下。

        2.6 SDL的安装

            下载并解压SDL-devel-1.2.15-VC,并将解压后的子目录SDL-1.2.15拷贝至c:\根目录下将

            C:\SDL-1.2.15\lib\x86目录下的三个文件拷贝到C:\SDL-1.2.15\lib\目录下.

        2.7 zlib的安装

            下载并解压zlib128-dll.rar文件,并将解压后的zlib128-dll目录拷贝纸c:\根目录下。

        2.8 activeperl的安装

            默认安装

        2.9 openssl的编译及安装

            将openssl-0.9.8zf压缩包解压。并将openssl-0.9.8zf目录拷贝至c:\根目录.

            执行Visual Studio Command Prompt (2010),转到openssl源码的根目录,顺序执行如下命令

            perl Configure VC-WIN32

            ms\do_ms

            nmake -f ms\ntdll.mak

            编译完成后,将openssl中的include文件夹改名为inc。

            再将inc32重命名为“include”,然后创建bin、lib两个文件夹,将out32dll文件夹中所有的*.lib文件

            复制到lib文件夹,再将所有 *.exe、*.dll文件复制到bin文件夹

        2.10 Python的安装

            默认安装

    3. 编译步骤

         执行Visual Studio CommandPrompt (2010),转到VirtualBox-4.2.10源码的根目录,执行如下命令:

         cscript configure.vbs--with-MinGW32=C:\MinGW --with-libSDL=C:\SDL-1.2.15

         --with-openssl=C:\openssl-0.9.8zf --with-ibcurl=C:\curl-7.40.0-devel-mingw32

         --with-Qt4=C:\Qt\4.8.6

    4. VirtualBox的执行

        编译成功后,VirtualBox.exe位于\out\win.x86\release\bin子目录下,在执行VirtualBox之前,

        需要将如下文件拷贝至VirtualBox所在的目录:

在Visual Studio 2010 SP1 下编译VirtualBox

 

        随后在Visual Studio Command Prompt (2010)下分别执行:“comregister.cmd”、“loadall.cmd”。

        最后,就可以执行VirtualBox.exe了。