Compilação do Código-Fonte do VirtualBox 5.2.44 no Windows

Seleção da Versão

A partir da versão 6.0, o VirtualBox deixou de oferecer suporte a sistemas operacionais de 32 bits. Por isso, este guia foca na compilação da versão 5.2.44, última com compatibilidade completa para ambientes x86 e x64. As instruções aqui descritas foram testadas exclusivamente nessa versão. Requisitos do Sistema

Ambiente Operacional: Windows 10 (recomendado em máquina virtual)

Utilizar uma VM com Windows 10 facilita a ativação do modo de teste necessário para carregamento de drivers não assinados durante os testes do módulo kernel. ### Microsoft Visual Studio 2010 SP1

É obrigatório o uso do Visual Studio 2010 com Service Pack 1. Recomenda-se fortemente a instalação em inglês — tanto do sistema quanto do VS — pois o script de configuração pode falhar ao localizar o compilador cl.exe em versões localizadas. Caso use outra língua, ajustes manuais no código do configure.vbs podem ser necessários. ### Windows Driver Development Kit (DDK) 7.1

O instalador web da Microsoft frequentemente falha. Baixe a imagem ISO completa: - 7600.16385.1.win7.wdk.100209-1815.iso

Instale em um caminho sem espaços ou caracteres especiais. ### Windows SDK 7.1

Necessário para ferramentas de build e headers adicionais. Em caso de falhas na instalação, remova primeiro componentes do Visual C++ 2010 redistribuíveis via Painel de Controle antes de tentar novamente. ### OpenSSL 1.1.x

O projeto exige bibliotecas OpenSSL pré-compiladas nas arquiteturas x86 e x64. Como pacotes binários dessa versão já não estão mais disponíveis oficialmante, é necessário compilar manualmente usando o ambiente do VS2010. Passos recomendados: 1. Baixe o código-fonte do OpenSSL 1.1.x. 2. Abra o prompt de comando do VS2010 (x86 ou x64). 3. Execute:

perl Configure VC-WIN32 --prefix=%SSL32_DIR%
nmake
nmake install

perl Configure VC-WIN64A --prefix=%SSL64_DIR%
nmake
nmake install

Certifique-se de usar o Perl compatível com builds Windows (como Strawberry Perl). ### SDL 1.2.11

Baixe o pacote binário ou fonte do SDL 1.2.11 e extraia em diretório designado. O VirtualBox usa essa versão específica para renderização gráfica básica. ### Qt5.6.3 com VS2010

Versão crítica: Qt 5.6.3, única que oferece suporte nativo ao MSVC 2010. - Versão pré-compilada para x86: Qt5.6.3-Windows-x86-VS2010

  • Para versão x64: compile a partir do código-fonte qt-everywhere-opensource-src-5.6.3 usando o compilador do VS2010 em modo 64 bits.

Comando típico para compilar Qt64: ``` configure -platform win32-msvc2010 -prefix %QT_BUILD_DIR% -x64 -release -opensource -confirm-license nmake nmake install


### MingW (32 e 64 bits)

- **MingW-w64 (x64):** Usado para algumas ferramentas auxiliares. Instale em `%DEFAULT_DIR%\MinGW\mingw64`.
- **MingW32 com GCC 3.3.3:** O VirtualBox 5.2 exige uma versão muito antiga do GCC para certos módulos. Substitua os executáveis do MinGW padrão pelos do `gcc-core-3.3.3` e `gcc-g++-3.3.3`.

### Python 2.7.x

Essencial para scripts de build. Instale em `C:\Python27` e adicione ao PATH. ### Curl (compilado para x86 e x64)

Compile o cURL a partir do código-fonte (versão 7.64.1 recomendada), vinculando-o ao OpenSSL previamente gerado. Execute duas vezes: uma para cada arquitetura: ```
winbuild\build.bat "VC=10" "DEBUG=0" "MACHINE=x86" "WITH_SSL=schannel"
winbuild\build.bat "VC=10" "DEBUG=0" "MACHINE=x64" "WITH_SSL=schannel"

Ou configure com OpenSSL estático se preferir. Configuração do Ambiente de Build

Crie um script batch para definir variáveis e rodar configure.vbs. Exemplo: ``` SET VS2010VC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 10.0 SET WINDDK_DIR=C:\WinDDK\7600.16385.1\bin\amd64 SET DEFAULT_DIR=C:\VBoxBuild_x86 SET MINGW_DIR=%DEFAULT_DIR%\MinGW\mingw64 SET SDL_DIR=%DEFAULT_DIR%\SDL\SDL-1.2.11 SET SSL64_DIR=%DEFAULT_DIR%\SSL\OpenSSL-Win64 SET SSL32_DIR=%DEFAULT_DIR%\SSL\OpenSSL-Win32 SET CURL_DIR=%DEFAULT_DIR%\curl\curl-7.64.1 SET QT_DIR=%DEFAULT_DIR%\Qt\qt-everywhere-opensource-src-5.6.3 SET QT_BUILD_DIR=%DEFAULT_DIR%\Qt\qt5-x64 SET VBOX_DIR=%DEFAULT_DIR%\VirtualBox-5.2.44 SET PYTHON_DIR=C:\Python27


### Execução do configure.vbs

Para compilar a versão de 32 bits: ```
cscript configure.vbs --with-vc="%VS2010VC_DIR%" ^
--with-qt5="C:\VBoxBuild_x86\Qt\Qt5.6.3-Windows-x86-VS2010-20200104" ^
--with-DDK="%WINDDK_DIR%" ^
--with-MinGW32="C:\VBoxBuild_x86\MinGW\MinGW3.2-gcc3.3.3" ^
--with-libSDL="%SDL_DIR%" ^
--with-openssl="%SSL32_DIR%" ^
--with-libcurl="%DEFAULT_DIR%\curl\x32" ^
--with-python="%PYTHON_DIR%" ^
--target-arch="x86"

Para compilar a versão de 64 bits: ``` cscript configure.vbs --with-vc="%VS2010VC_DIR%" ^ --with-qt5="%QT_BUILD_DIR%" ^ --with-DDK="%WINDDK_DIR%" ^ --with-MinGW-w64="%MINGW_DIR%" ^ --with-libSDL="%SDL_DIR%" ^ --with-openssl="%SSL64_DIR%" ^ --with-openssl32="%SSL32_DIR%" ^ --with-libcurl="%DEFAULT_DIR%\curl\x64" ^ --with-libcurl32="%DEFAULT_DIR%\curl\x32" ^ --with-python="%PYTHON_DIR%"


Compilação Final
----------------

Após a configuração bem-sucedida: 1. Execute o arquivo `env.bat` gerado pelo script.
2. Rode o comando: `kmk`

O processo pode levar mais de uma hora. Para acelerar, use `kmk -jN` (onde N é o número de núcleos). Notas Finais
------------

- Todas as dependências devem ser compiladas com o mesmo ambiente (VS2010 SP1).
- Verifique caminhos e arquiteturas nos argumentos do `configure.vbs`.
- O uso de scripts automatizados do GitHub pode simplificar parte do processo, mas exigirá adaptação dos caminhos e versões.

Tags: VirtualBox compilacao Windows Visual Studio 2010 openssl

Publicado em 8-26 09:49