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.3usando 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.