VirtualBox

Changes between Version 54 and Version 55 of Windows build instructions


Ignore:
Timestamp:
Jun 9, 2017 10:58:13 AM (7 years ago)
Author:
Frank Mehnert
Comment:

slashes

Legend:

Unmodified
Added
Removed
Modified
  • Windows build instructions

    v54 v55  
    4444 * the '''zlib''' library. Grab the sources from: [[BR]]
    4545 http://www.zlib.net/ [[BR]]
    46  Actually the tarball includes `zlib` in the `src/libs/` directory so downloading this library is only necessary if you need a more recent version. In that case look for `SDK_VBOX_ZLIB_INCS` and `SDK_VBOX_ZLIB_LIBS` in Config.kmk and override these entries in your `LocalConfig.kmk` accordingly. See [#LocalConfig below] for some notes about using `LocalConfig.kmk` to override the default build configuration).
     46 Actually the tarball includes `zlib` in the `src\libs\` directory so downloading this library is only necessary if you need a more recent version. In that case look for `SDK_VBOX_ZLIB_INCS` and `SDK_VBOX_ZLIB_LIBS` in Config.kmk and override these entries in your `LocalConfig.kmk` accordingly. See [#LocalConfig below] for some notes about using `LocalConfig.kmk` to override the default build configuration).
    4747
    4848 * the '''cURL''' library. Grab the binaries from: [[BR]]
     
    7373
    7474=== Manual compilation of certain prerequisites ===
    75 If you don't find development packages of certain prerequisites it's also possible to manually compile them. For instance, there does not seem to be proper `libcurl` packages avaible for Windows which contain `libcurl.lib`, `libcurl.dll' files and the `include/` directory.
     75If you don't find development packages of certain prerequisites it's also possible to manually compile them. For instance, there does not seem to be proper `libcurl` packages avaible for Windows which contain `libcurl.lib`, `libcurl.dll' files and the `include\` directory.
    7676
    7777To manually build the cURL devel package on Windows you have to
    78  1. Take care that the compiler binary path is part of the '''`PATH`''' environment variable, usually the `bin/` directory of the installation directory. That directory has to contain `cl.exe`, `link.exe`, `lib.exe`, `nmake.exe` etc. Take care to specify the correct architecture path (amd64 or x86).
    79  2. Set the '''`INCLUDE`''' environment variable to include the compilers `atlmfc/include/` (ATL/MFC) and `include/` directories.
    80  3. Set the '''`LIB`''' environment variable to include the compilers `atlmfc/lib/` (ATL/MFC) and `lib/` directories. Take care to specify the correct architecture path (amd64 or x86).
    81  4. Set the '''`LIBPATH`''' environment variable to include the compilers `atlmfc/lib/` (ATL/MFC) directory. Take care to specify the correct architecture path (amd64 or x86).
    82  5. Set the '''`PATH`''' environment variable to include the (7.1) SDK `bin/` directory. Take care to point to the correct architecture path (amd64 or x86).
    83  6. Set the '''`INCLUDE`''' environment variable to include the (7.1) SDK `include/` directory.
    84  7. Set the '''`LIB`''' environment variable to include the (7.1) SDK `lib/` directory. Take care to specify the correct architecture path (amd64 or x86).
    85 After all these environment variables are set up, go to the `curl-VERSION/winbuild/` directory and perform
     78 1. Take care that the compiler binary path is part of the '''`PATH`''' environment variable, usually the `bin\` directory of the installation directory. That directory has to contain `cl.exe`, `link.exe`, `lib.exe`, `nmake.exe` etc. Take care to specify the correct architecture path (amd64 or x86).
     79 2. Set the '''`INCLUDE`''' environment variable to include the compilers `atlmfc\include\` (ATL/MFC) and `include\` directories.
     80 3. Set the '''`LIB`''' environment variable to include the compilers `atlmfc\lib\` (ATL/MFC) and `lib\` directories. Take care to specify the correct architecture path (amd64 or x86).
     81 4. Set the '''`LIBPATH`''' environment variable to include the compilers `atlmfc\lib\` (ATL/MFC) directory. Take care to specify the correct architecture path (amd64 or x86).
     82 5. Set the '''`PATH`''' environment variable to include the (7.1) SDK `bin\` directory. Take care to point to the correct architecture path (amd64 or x86).
     83 6. Set the '''`INCLUDE`''' environment variable to include the (7.1) SDK `include\` directory.
     84 7. Set the '''`LIB`''' environment variable to include the (7.1) SDK `lib\` directory. Take care to specify the correct architecture path (amd64 or x86).
     85After all these environment variables are set up, go to the `curl-VERSION\winbuild\` directory and perform
    8686{{{
    8787nmake /f Makefile.vc mode=dll VC=10 MACHINE=x64 or
    8888nmake /f Makefile.vc mode=dll VC=10 MACHINE=x86
    8989}}}
    90 The resulting package can be found in the `libcurl-vc10-*-winssl/` directory. The configure.vbs script expects that libcurl.lib and libcurl.dll are located next to the `include/` directory. It's a good idea to copy the `libcurl-vc10-*-winssl/` directory to another place. Then use the `--with-libcurl=` parameter to specify the path for configure.vbs.
     90The resulting package can be found in the `builds\libcurl-vc10-*-winssl\` directory. The configure.vbs script expects that libcurl.lib and libcurl.dll are located next to the `include\` directory. It's a good idea to copy the `libcurl-vc10-*-winssl\` directory to another place. Then use the `--with-libcurl=` parameter to specify the path for configure.vbs.
    9191
    9292== Building !VirtualBox ==
     
    133133  Don't build the !VirtualBVox validation kit.
    134134 VBOX_WITHOUT_HARDENING=1::
    135   Disable Windows hardening. Useful for testing. Do '''not''' use this setting for production builds! Without hardening the binaries are not signed and !VirtualBox.exe can be started straight away from the out/.../bin directory (`kmk packing` + installation not required).
     135  Disable Windows hardening. Useful for testing. Do '''not''' use this setting for production builds! Without hardening the binaries are not signed and !VirtualBox.exe can be started straight away from the out\...\bin directory (`kmk packing` + installation not required).
    136136
    137137=== Only for 64 bit builds: setting up self signing ===
     
    166166}}}
    167167
    168 which can be found in the output directory (`out/win.ARCH/release/bin`).  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.
     168which can be found in the output directory (`out\win.ARCH\release\bin`).  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.
    169169
    170170Before you can start any binary from the output directory you have to make sure that external libraries (for example `libcurl.dll` or `libcrypto.dll`) are located in a directory which is accessible by the `PATH` variable or by copying these libraries to the output directory.

© 2023 Oracle
ContactPrivacy policyTerms of Use