VirtualBox

Changes between Initial Version and Version 1 of Windows build instructions


Ignore:
Timestamp:
Dec 15, 2006 1:08:24 PM (18 years ago)
Author:
jose
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Windows build instructions

    v1 v1  
     1= Windows Build Instructions =
     2
     3== Prerequisites on Windows ==
     4
     5 * '''Visual C++ version 7.1 or 8.0''' (aka. Visual Studio .NET 2003 and 2005).
     6 * '''Windows Platform SDK''' coming with Visual C++ or a more recent one from: [[BR]] http://www.microsoft.com/downloads/details.aspx?FamilyId=484269E2-3B89-47E3-8EB7-1F2BE6D7123A&displaylang=en [[BR]] [[BR]]
     7 * '''DirectX SDK''': [[BR]]http://www.microsoft.com/downloads/details.aspx?FamilyID=d625324c-59b4-4951-849e-640b508dc442&DisplayLang=en [[BR]] [[BR]]
     8 * '''MingW''': [[BR]]
     9 GCC 3.3.1: http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar.gz?download [[BR]]
     10 and http://prdownloads.sf.net/mingw/gcc-g++-3.3.1-20030804-1.tar.gz?download [[BR]]
     11 Runtime: http://prdownloads.sf.net/mingw/mingw-runtime-3.8.tar.gz?download [[BR]]
     12 W32API: http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download [[BR]]
     13 Binutils: http://prdownloads.sf.net/mingw/binutils-2.13.90-20021006-2.tar.gz?download [[BR]]
     14 ''Note that neither GCC v3.4.2 nor v3.4.5 is currently able to build a working recompiler. So, make sure you are using the 3.3.x versions! '' [[BR]] [[BR]]
     15 * '''SDL v1.2.7 or later''' development package (VC6): [[BR]]http://www.libsdl.org/download-1.2.php
     16
     17=== Using Visual C++ 2005 Express Edition ===
     18
     19If you don't have a Visual C++ edition and still wish to build !VirtualBox it is possible to use the Visual C++ 2005 Express Edition. However you will not be able to build everything. In fact the only front end that will be built is VBoxBFE. The reason for this is that the !VirtualBox COM API - which all the other front ends program against - requires ATL (active template library) to build, and unfortunately the express edition doesn't include this(http://msdn.microsoft.com/vstudio/express/support/faq/#vcpp).
     20
     21When doing the first build step, you have to add --with-VC-Express-Edition to the argument list:
     22{{{
     23cscript configure.vbs --with-VC-Express-Edition
     24}}} 
     25
     26http://msdn.microsoft.com/vstudio/express/visualc/download/
     27
     28=== Qt ===
     29
     30The Qt !VirtualBox frontend (called VirtualBox.exe) is based on the Qt toolkit version 3.3.x. The GPL version of the Qt/Windows is version 4.x and to our knowlegde it (officially) only supports the MinGW compiler. In compiling the Qt frontend using MinGW one has to over come two road blocks:
     31 1. The code depends on ATL (again).
     32 1. The C++ object layout differs so one would have to look into how g++ can call our COM interfaces.
     33Now, both these roadblocks are solvable - (1) is just a lot of work and (2) is definintly possible (InnoTek has even created binary wrappers between these compilers before) - but we have not yet looked too deeply into it.
     34
     35All the code is there, feel free to try make it build and work.
     36
     37== Building !VirtualBox ==
     38
     39 1. Change to the root directory and execute our configure script to setup your build environment: `cscript configure.vbs`. If The script finds all the tools necessary, it will output two files: `Config.kmkconf` containing information where to find the tools on your system and `configure.bat`, a batch file to setup your environment for building !VirtualBox. You only have to execute this step once, unless something about your tools changes in which case you have to repeat the above step. Keep in mind that the script always overwrites the two generated files so you should not manually edit them.
     40
     41 2. Change to the root directory of the sources and enter our build shell environment: `configure.bat`.
     42
     43 3. To build a release package, type `kmk`. This produces the binaries `out\x86.windows\release\bin`. If you want to build a debug version, enter `kmk BUILD_TYPE=debug`.
     44
     45
     46== Running !VirtualBox ==
     47
     48!VirtualBox requires devices drivers and COM classes to operate. Whenever these change, you will have to reregister them. In order to reregister the COM classes, execute
     49
     50{{{
     51comregister.cmd
     52}}}
     53
     54which can be found in the output directory. Note that for this to work, `VBoxSVC.exe` must not be running, so use the Windows task manager to verify this. Usually `VBoxSVC.exe` terminates automatically after 5 seconds of inactivity (i.e. no client connection) but especially when developing, it might sometimes stay around. In case the COM classes change (this usually happens when the file `VirtualBox.xidl` is updated) and you forget to reregister the classes, weird problems may appear.
     55
     56In order to install the !VirtualBox kernel driver, issue the following:
     57{{{
     58SUPUninstall
     59SUPInstall
     60}}}
     61
     62Starting !VirtualBox is accomplished by invoking one of its frontends, such as
     63
     64{{{
     65VBoxSDL.exe
     66}}}

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette