first commit
This commit is contained in:
88
build.bat
Normal file
88
build.bat
Normal file
@@ -0,0 +1,88 @@
|
||||
@echo off
|
||||
setlocal EnableExtensions
|
||||
|
||||
set "ROOT=%~dp0"
|
||||
pushd "%ROOT%" >nul
|
||||
set "SRC_DIR=%ROOT%source"
|
||||
|
||||
set "DEFAULT_CXX=C:\Users\lnk\Downloads\mingw32\bin\g++.exe"
|
||||
if exist "%DEFAULT_CXX%" (
|
||||
set "CXX=%DEFAULT_CXX%"
|
||||
) else (
|
||||
set "CXX=g++"
|
||||
)
|
||||
|
||||
set "OUT=%~1"
|
||||
if "%OUT%"=="" set "OUT=bin\pq_tool.exe"
|
||||
if not exist "bin" mkdir "bin"
|
||||
if not exist "%SRC_DIR%\main.cpp" (
|
||||
echo [ERR] Source directory not found: %SRC_DIR%
|
||||
popd >nul
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not "%PQ_BUILD_TEMP%"=="" (
|
||||
if exist "%PQ_BUILD_TEMP%" (
|
||||
set "TMP=%PQ_BUILD_TEMP%"
|
||||
set "TEMP=%PQ_BUILD_TEMP%"
|
||||
echo [INFO] TEMP: %PQ_BUILD_TEMP%
|
||||
) else (
|
||||
echo [WARN] PQ_BUILD_TEMP does not exist; using default TEMP.
|
||||
)
|
||||
)
|
||||
|
||||
echo [INFO] Compiler: %CXX%
|
||||
for /f "delims=" %%M in ('"%CXX%" -dumpmachine 2^>nul') do set "TARGET=%%M"
|
||||
echo [INFO] Target: %TARGET%
|
||||
echo %TARGET% | findstr /i "i686" >nul
|
||||
if errorlevel 1 (
|
||||
echo [ERR] This project must be built with a 32-bit i686 MinGW compiler.
|
||||
echo [ERR] Current compiler target is: %TARGET%
|
||||
popd >nul
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [INFO] Output: %OUT%
|
||||
if exist "%OUT%" (
|
||||
del /f "%OUT%" >nul 2>nul
|
||||
if exist "%OUT%" (
|
||||
echo [ERR] Cannot overwrite existing output. Is it still running? %OUT%
|
||||
popd >nul
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
"%CXX%" ^
|
||||
-std=gnu++17 ^
|
||||
-O2 ^
|
||||
-Wall ^
|
||||
-Wno-deprecated-declarations ^
|
||||
-I"%SRC_DIR%" ^
|
||||
-o "%OUT%" ^
|
||||
"%SRC_DIR%\main.cpp" "%SRC_DIR%\interface.cpp" "%SRC_DIR%\mq.cpp" "%SRC_DIR%\tinyxml2.cpp" ^
|
||||
-lcomctl32 -lcomdlg32 -lwinhttp -lole32 -luuid -lws2_32 -lgdi32 ^
|
||||
-static-libgcc -static-libstdc++
|
||||
|
||||
if errorlevel 1 (
|
||||
echo [ERR] Build failed.
|
||||
popd >nul
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not exist "%OUT%" (
|
||||
echo [ERR] Build command finished but output file was not created: %OUT%
|
||||
popd >nul
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not exist "bin\rocketmq-client-cpp.dll" (
|
||||
echo [WARN] bin\rocketmq-client-cpp.dll is missing. MQ runtime will not load.
|
||||
)
|
||||
|
||||
if not exist "bin\libwinpthread-1.dll" (
|
||||
echo [WARN] bin\libwinpthread-1.dll is missing. RocketMQ DLL may fail to load.
|
||||
)
|
||||
|
||||
echo [OK] Build complete: %OUT%
|
||||
popd >nul
|
||||
exit /b 0
|
||||
Reference in New Issue
Block a user