libjpeg-turboコマンドラインコンパイルスクリプト(MinGW/MSVC/linux)
libjpeg-turboはCMAKEコマンドラインでコンパイルするのは便利ですlibjpeg-turboはNASMのサポートが必要です.コンパイルする前にダウンロードして正しくインストールしてください.
libjpeg-turboの主なオプションをコンパイルします.
ENABLE_STATIC=FALSE静的ライブラリをコンパイルしない(デフォルトはTRUE)ENABLE_SHARED=FALSEダイナミックライブラリをコンパイルしない(デフォルトはTRUE)WITH_SIMD=FALSEはSIMD命令(デフォルトはTRUE)をサポートしていません.仮想マシンでコンパイルする場合は、このオプションをオフにします.
MinGW
フルスクリプト(build_jpeg_turbo_gcc.bat)は、現在のgccコンパイラの能力を自動的に判断して32/64ビットバージョンをコンパイルし、スクリプトを実行するときに
build_jpeg_turbo_gcc.batはgitee倉庫の位置にあります.https://gitee.com/l0km/jpegwrapper/blob/master/dependencies/build_jpeg_turbo_gcc.bat
MSVC
MSVCコンパイルスクリプトはgiteeウェアハウスを参照:https://gitee.com/l0km/jpegwrapper/blob/master/dependencies/build_jpeg_turbo_msvc.bat
このスクリプトは、32/64ビットおよび
フォルダの下にあるallを実行します.build_jpeg_turbo_msvc.batは、debug/releaseバージョンを一度にコンパイルしてコンパイルできます.
Linux
linuxでlibjpeg-turboをコンパイルするスクリプト:https://gitee.com/l0km/jpegwrapper/blob/master/dependencies/build_jpeg_turbo.sh
mkdir build
cd build
# Makefile
cmake -G "MinGW Makefiles" \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_DEBUG_POSTFIX=_d \
-DCMAKE_C_FLAGS=-m64 \
-DCMAKE_INSTALL_PREFIX=% % \
..
#
make install -j8
libjpeg-turboの主なオプションをコンパイルします.
ENABLE_STATIC=FALSE静的ライブラリをコンパイルしない(デフォルトはTRUE)ENABLE_SHARED=FALSEダイナミックライブラリをコンパイルしない(デフォルトはTRUE)WITH_SIMD=FALSEはSIMD命令(デフォルトはTRUE)をサポートしていません.仮想マシンでコンパイルする場合は、このオプションをオフにします.
MinGW
フルスクリプト(build_jpeg_turbo_gcc.bat)は、現在のgccコンパイラの能力を自動的に判断して32/64ビットバージョンをコンパイルし、スクリプトを実行するときに
DEBUG
パラメータがあればDEBUGバージョンをコンパイルします.たとえば、build_jpeg_turbo_gcc DEBUG
、そうでなければデフォルトでRELEASEバージョンをコンパイルします.@rem %%1 DEBUG|RELEASE , RELEASE
@echo off
echo build jpeg-turbo by MinGW
rem MinGW ,
where gcc
if errorlevel 1 (
echo MinGW/gcc NOT FOUND.
exit -1
)
echo MinGW/gcc found.
rem cmake,
where cmake
if errorlevel 1 (
echo cmake NOT FOUND.
echo download from http://cmake.org/ ,extract to disk
echo add installation path to environment variable PATH
pause
exit -1
)
echo cmake found.
rem nasm,
where nasm
if errorlevel 1 (
echo nasm NOT FOUND.
echo download from https://www.nasm.us/ ,extract to disk
echo add installation path to environment variable PATH, version above 2.13.03 required.
pause
exit -1
)
echo nasm found.
set sh_folder=%~dp0
rem (DEBUG|RELEASE)
set build_type=RELEASE
rem 1 "DEBUG"( ) DEBUG
if /I "%1" == "DEBUG" ( set build_type=DEBUG)
echo build_type=%build_type%
set source_folder=libjpeg-turbo-1.5.90
if not exist %source_folder% (
echo not found source folder: %source_folder%,please unzip %source_folder%.zip in current folder
pause
exit -1
)
pushd %sh_folder%\%source_folder%
rem 64
gcc --version |findstr "sjlj seh"
if errorlevel 1 (
echo unsupported x86_64 build
)else call:gcc_x86_64
rem 32
gcc --version |findstr "sjlj dwarf"
if errorlevel 1 (
echo unsupported x86 build
)else call:gcc_x86
goto :end
:gcc_x86
echo build x86 use MinGW
if exist build_gcc_x86 rmdir build_gcc_x86 /s/q
mkdir build_gcc_x86
pushd build_gcc_x86
rem gcc SJLJ or DWARF distribution required
cmake -G "MinGW Makefiles" ^
-DCMAKE_BUILD_TYPE=%build_type% ^
-DCMAKE_DEBUG_POSTFIX=_d ^
-DCMAKE_C_FLAGS=-m32 ^
-DCMAKE_INSTALL_PREFIX=%sh_folder%/libjpeg-turbo-windows-gcc-x86 ^
..
make install -j8
popd
rmdir build_gcc_x86 /s/q
goto:eof
:gcc_x86_64
echo build x86_64 use MinGW
if exist build_gcc_x86_64 rmdir build_gcc_x86_64 /s/q
mkdir build_gcc_x86_64
pushd build_gcc_x86_64
rem gcc SJLJ or SEH distribution required
cmake -G "MinGW Makefiles" ^
-DCMAKE_BUILD_TYPE=%build_type% ^
-DCMAKE_DEBUG_POSTFIX=_d ^
-DCMAKE_C_FLAGS=-m64 ^
-DCMAKE_INSTALL_PREFIX=%sh_folder%/libjpeg-turbo-windows-gcc-x86_64 ^
..
make install -j8
popd
rmdir build_gcc_x86_64 /s/q
goto:eof
:end
popd
build_jpeg_turbo_gcc.batはgitee倉庫の位置にあります.https://gitee.com/l0km/jpegwrapper/blob/master/dependencies/build_jpeg_turbo_gcc.bat
MSVC
MSVCコンパイルスクリプトはgiteeウェアハウスを参照:https://gitee.com/l0km/jpegwrapper/blob/master/dependencies/build_jpeg_turbo_msvc.bat
このスクリプトは、32/64ビットおよび
/MT /MD
のすべての4バージョン(RELEASE)を自動的にコンパイルして生成できます.このディレクトリの下には、コンパイルされたlibjpeg-turboのすべてのwindowsバージョンが見つかります.https://gitee.com/l0km/jpegwrapper/blob/master/dependencies フォルダの下にあるallを実行します.build_jpeg_turbo_msvc.batは、debug/releaseバージョンを一度にコンパイルしてコンパイルできます.
Linux
linuxでlibjpeg-turboをコンパイルするスクリプト:https://gitee.com/l0km/jpegwrapper/blob/master/dependencies/build_jpeg_turbo.sh