secondvoice/setup_mingw.bat
StillHammer 07b792b2bd fix: Add MinGW build support and compatibility fixes
- Add MinGW compatibility shim for cpp-httplib GetAddrInfoExCancel
- Fix portaudio linking (portaudio_static -> portaudio)
- Disable -Werror for MinGW builds due to httplib incompatibilities
- Add console subsystem flag for MinGW builds
- Add debug logging utilities (Logger.h)
- Add MessageBox debugging for Windows troubleshooting
- Update build scripts with better error handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 11:43:13 +08:00

191 lines
4.5 KiB
Batchfile

@echo off
REM MinGW Setup Script for SecondVoice
REM This installs a lightweight compiler instead of Visual Studio
echo ========================================
echo SecondVoice - MinGW Setup
echo ========================================
echo.
echo This script will install:
echo - MinGW-w64 (GCC compiler for Windows)
echo - CMake (build system)
echo - Ninja (build tool)
echo - Git (if not installed)
echo.
echo Total size: ~500MB (vs 10GB+ for Visual Studio!)
echo.
pause
REM Check if running as admin
net session >nul 2>&1
if %errorlevel% neq 0 (
echo [WARNING] Not running as administrator
echo Some installations might fail. Recommended to run as admin.
echo.
pause
)
REM Install chocolatey if not present
where choco >nul 2>&1
if %errorlevel% neq 0 (
echo [INFO] Installing Chocolatey package manager...
echo.
powershell -Command "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"
REM Check if Chocolatey is now in PATH
set "PATH=%PATH%;C:\ProgramData\chocolatey\bin"
where choco >nul 2>&1
if %errorlevel% neq 0 (
echo.
echo ========================================
echo [IMPORTANT] Chocolatey installed successfully!
echo ========================================
echo.
echo Please CLOSE this window and reopen PowerShell as ADMIN
echo Then run this script again: .\setup_mingw.bat
echo.
pause
exit /b 0
)
echo [SUCCESS] Chocolatey installed and ready!
echo.
)
echo [INFO] Chocolatey found
echo.
REM Install MinGW-w64
where gcc >nul 2>&1
if %errorlevel% neq 0 (
echo [INFO] Installing MinGW-w64 (GCC compiler)...
choco install mingw -y
if %errorlevel% neq 0 (
echo [ERROR] Failed to install MinGW
pause
exit /b 1
)
echo [SUCCESS] MinGW installed!
echo.
) else (
echo [INFO] GCC already installed
gcc --version
echo.
)
REM Install CMake
where cmake >nul 2>&1
if %errorlevel% neq 0 (
echo [INFO] Installing CMake...
choco install cmake -y --installargs 'ADD_CMAKE_TO_PATH=System'
if %errorlevel% neq 0 (
echo [ERROR] Failed to install CMake
pause
exit /b 1
)
echo [SUCCESS] CMake installed!
echo.
) else (
echo [INFO] CMake already installed
cmake --version
echo.
)
REM Install Ninja
where ninja >nul 2>&1
if %errorlevel% neq 0 (
echo [INFO] Installing Ninja...
choco install ninja -y
if %errorlevel% neq 0 (
echo [ERROR] Failed to install Ninja
pause
exit /b 1
)
echo [SUCCESS] Ninja installed!
echo.
) else (
echo [INFO] Ninja already installed
ninja --version
echo.
)
REM Install Git (if not present)
where git >nul 2>&1
if %errorlevel% neq 0 (
echo [INFO] Installing Git...
choco install git -y
if %errorlevel% neq 0 (
echo [ERROR] Failed to install Git
pause
exit /b 1
)
echo [SUCCESS] Git installed!
echo.
) else (
echo [INFO] Git already installed
git --version
echo.
)
REM Setup vcpkg if not present
if not defined VCPKG_ROOT (
if not exist "C:\vcpkg" (
echo [INFO] Installing vcpkg...
cd C:\
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
call bootstrap-vcpkg.bat
if %errorlevel% neq 0 (
echo [ERROR] Failed to bootstrap vcpkg
pause
exit /b 1
)
echo [SUCCESS] vcpkg installed!
echo.
)
echo [INFO] Setting VCPKG_ROOT environment variable...
setx VCPKG_ROOT "C:\vcpkg"
set VCPKG_ROOT=C:\vcpkg
echo [SUCCESS] VCPKG_ROOT set to C:\vcpkg
echo.
) else (
echo [INFO] vcpkg already configured at: %VCPKG_ROOT%
echo.
)
echo ========================================
echo [SUCCESS] Setup Complete!
echo ========================================
echo.
echo Installed tools:
where gcc
where cmake
where ninja
where git
echo VCPKG_ROOT=%VCPKG_ROOT%
echo.
echo ========================================
echo Next Steps:
echo ========================================
echo 1. Close and reopen this terminal (to reload PATH)
echo 2. Run: build_mingw.bat --release
echo 3. Your .exe will be in: build\mingw-release\SecondVoice.exe
echo.
echo Total installation size: ~500MB
echo (vs 10GB+ for Visual Studio!)
echo.
pause