VirtualBox

Changes between Version 31 and Version 32 of Windows build instructions


Ignore:
Timestamp:
Jul 22, 2012 4:17:22 PM (12 years ago)
Author:
bird
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Windows build instructions

    v31 v32  
    2525 * '''GCC cross compiler targeting 64-bit linux''' (64-bit Windows only). [[BR]]
    2626 Not aware of any binaries available for download, so you have to build your own, unfortunately. (We're slowly working on removing this hurdle.)
     27
     28 * '''Qt v4.7.x or later''' [[BR]]
     29 Note! This has to be built with the Visual C++ compiler mentioned above.
    2730
    2831 * '''SDL v1.2.7 or later''' development package (VC6): [[BR]]http://www.libsdl.org/download-1.2.php
     
    5356 2. Change to the root directory of the sources and enter our build shell environment: `env.bat`.
    5457
    55  3. To build a release package, type `kmk`. This produces the binaries in `out\win.x86\release\bin`. If you want to build a debug version, enter `kmk BUILD_TYPE=debug`. In case you have more than one CPU core, you could take advantage of our parallel build system by supplying -j3 (number of cores + 1) as an option to kmk.
     58 3. To build a release package, type `kmk`. This produces the binaries in `out\win.x86\release\bin`. If you want to build a debug version, enter `kmk KBUILD_TYPE=debug`.
    5659
    57 === Using Other Windows Versions ===
    5860
    59 Building !VirtualBox on Windows 2000 should work fine except for one or two missing runtime DLLs that are required by tools or libraries in the !VirtualBox build. It is very likely that these DLLs are already installed on your computer by some other program, so you might not even notice.
     61=== Using Visual C++ 2010 Express ===
    6062
    61 Building !VirtualBox on Windows Vista works fine with one exception, kBuild is making use of Almquist's ash shell which is built using cygwin. As of writing in order to get cygwin to work properly on Windows Vista, you will need to use a cygwin1.dll dated 2006-11-02 or later. See http://cygwin.com/ml/cygwin/2006-11/msg00059.html for details and http://cygwin.com/snapshots/ for the dll. Download the dll, unpack it, and copy it to kBuild/bin/x86.win/cygwin1.dll.
    62 
    63 (You are free to try building !VirtualBox on NT4 (or earlier) and Windows 95/98/ME, just don't expect it to succeed nor to run.)
    64 
    65 === Using Visual C++ 2005 Express Edition ===
    66 
    67 If you don't have a Visual C++ edition but still wish to build !VirtualBox, it is also possible to use the [http://msdn.microsoft.com/vstudio/express/visualc/download/ Visual C++ 2005 Express Edition]. However, you will not be able to build everything. In fact the only front end that can be built with this toolset is VBoxBFE becase the !VirtualBox COM API - which all the other front ends program against - requires the Active Template Library (ATL) to build, and unfortunately the express edition doesn't include this (see http://msdn.microsoft.com/vstudio/express/support/faq/#vcpp).
     63If you don't have a Visual C++ license but still wish to build !VirtualBox, it is also possible to use the [http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express Visual C++ 2010 Express]. However, you will not be able to build everything. In fact the only front end that can be built with this toolset is VBoxBFE because the !VirtualBox COM API - which all the other front ends program against - requires the Active Template Library (ATL) to build, and unfortunately the express edition doesn't include this (see http://msdn.microsoft.com/vstudio/express/support/faq/#vcpp).
    6864
    6965When doing the first build step, you have to add --with-VC-Express-Edition to the argument list:
     
    7268}}}
    7369
    74 === Qt ===
    75 
    76 The Qt !VirtualBox frontend (called {{{VirtualBox.exe}}}) is based on the Qt toolkit version 3.3.x. The Trolltech GPL version of Qt/Windows is based on Qt 4.x and to our knowledge it (officially) only supports the MinGW compiler. When compiling the Qt frontend using MinGW one has to overcome two road blocks:
    77  1. The code depends on ATL (again).
    78  1. The C++ object layout differs so one would have to look into how g++ can call our COM interfaces.
    79 Now, both these roadblocks are solvable - (1) is just a lot of work and (2) is definitely possible (the !VirtualBox team has even created binary wrappers between these compilers before) - but we have not yet looked too deeply into it.
    80 
    81 All the code is there, feel free to try make it build and work.
    82 
    83 Alternatively, you could use a package called "qtwin", which is located here:
    84 http://qtwin.sourceforge.net/
    85 
    86 This package is a port of the official Qt/x11 sources, which are GPL based, from Trolltech and uses the native Win32 API.
    87 It supports Cygwin, MinGW, MS Visual C++ and Borland host environments.
    88 
    89 To use "qtwin" with VirtualBox, you have to do the following steps:
    90 
    91  1. Download the package from http://sourceforge.net/project/showfiles.php?group_id=49109&package_id=42335
    92  1. Make sure you installed and correctly set up one of the supported compiler environments on your machine
    93  1. Extract the "qtwin" package to <VBoxRoot>\tools\win.x86\qt\v3.3.3\
    94  1. Alternatively to 3., tell "configure.vbs" later where to find the package by using the "--with-qt=<PATH>" parameter
    95  1. Read the instructions how to build "qtwin" and build it (configure.bat)
    96  1. Qt should now also be found from "configure.vbs". If not, check the log "configure.log" for errors
    9770
    9871== Running !VirtualBox ==
    9972
    100 !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
     73!VirtualBox requires devices drivers and COM classes to operate.  Whenever these change, you will have to re-register them.  In order to re-register the COM classes, execute
    10174
    10275{{{
     
    10477}}}
    10578
    106 which 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.
     79which 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 re-register the classes, weird problems may appear.
    10780
    108 In order to install the !VirtualBox kernel driver, issue the following:
     81In order to (re-)install the !VirtualBox kernel drivers, issue the following:
    10982{{{
    110 SUPUninstall
    111 SUPInstall
     83loadall.cmd
    11284}}}
    113 
    114 If you have installed the host interface and/or host-only !VirtualBox kernel drivers, then you must uninstall them first (net*uninstall.exe), before uninstalling the !VirtualBox kernel driver.
    11585
    11686Starting !VirtualBox is accomplished by invoking one of its frontends, such as
     
    12090}}}
    12191
    122 
    123 == Common Build Problems ==
    124 
    125 === Cygwin DLL Conflict ===
    126 
    127 If you have cygwin installed on your computer, you might have problems building if your have active cygwin programs or you might have problems starting cygwin programs when the !VirtualBox build is running. To fix this, copy the cygwin1.dll from your cygwin installation (usually c:/cygwin/bin/cygwin1.dll) to kBuild/bin/x86.bin/cygwin1.dll.
     92or
     93{{{
     94VirtualBox.exe
     95}}}

© 2023 Oracle
ContactPrivacy policyTerms of Use