Changes between Version 3 and Version 4 of Windows build instructions
- Timestamp:
- Dec 15, 2006 4:34:29 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Windows build instructions
v3 v4 3 3 == Prerequisites on Windows == 4 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]] 5 * '''Visual C++ version 7.1 or 8.0''' (aka. Visual Studio .NET 2003 and 2005). 6 7 * '''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 8 9 * '''DirectX SDK''': [[BR]]http://www.microsoft.com/downloads/details.aspx?FamilyID=d625324c-59b4-4951-849e-640b508dc442&DisplayLang=en 10 8 11 * '''MingW''': [[BR]] 9 12 GCC 3.3.1: http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar.gz?download [[BR]] … … 12 15 W32API: http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download [[BR]] 13 16 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]] 17 ''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! '' 18 15 19 * '''SDL v1.2.7 or later''' development package (VC6): [[BR]]http://www.libsdl.org/download-1.2.php 16 20 17 21 === Using Visual C++ 2005 Express Edition === 18 22 19 If you don't have a Visual C++ edition but still wish to build !VirtualBox, it is also 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 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).23 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). 20 24 21 25 When doing the first build step, you have to add --with-VC-Express-Edition to the argument list: 22 26 {{{ 23 27 cscript configure.vbs --with-VC-Express-Edition 24 }}} 25 26 http://msdn.microsoft.com/vstudio/express/visualc/download/ 28 }}} 27 29 28 30 === Qt === 29 31 30 The 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 overcome two road blocks:32 The Qt !VirtualBox frontend (called {{{VirtualBox.exe}}}) is based on the Qt toolkit version 3.3.x. The 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: 31 33 1. The code depends on ATL (again). 32 34 1. The C++ object layout differs so one would have to look into how g++ can call our COM interfaces. 33 Now, both these roadblocks are solvable - (1) is just a lot of work and (2) is defini ntly possible (InnoTek has even created binary wrappers between these compilers before) - but we have not yet looked too deeply into it.35 Now, both these roadblocks are solvable - (1) is just a lot of work and (2) is definitely possible (InnoTek has even created binary wrappers between these compilers before) - but we have not yet looked too deeply into it. 34 36 35 37 All the code is there, feel free to try make it build and work.