build SDL2 for current host

step0、参考

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + gzip
编译时cmakeninjagcc / GCC | Clang / LLVM
运行时
  • glibc ( libc.solibdl.solibpthread.sold-linux-x86-64.so )

step2、使用curl命令下载SDL2源码包 (

curl -LO https://www.libsdl.org/release/SDL2-2.0.12.tar.gz

step3、使用tar解压SDL2源码包

tar vxf SDL2-2.0.12.tar.gz

step4、进入SDL2-2.0.12目录

cd SDL2-2.0.12

step5、查看SDL2-2.0.12目录中的内容

step6、使用cmake命令配置编译参数

cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量类型默认值说明
3DNOWBOOLON是否支持3DNOW指令集
ALTIVECBOOLON是否支持Altivec指令集
ARMNEONBOOLON是否支持NEON指令集
ARMSIMDBOOLON是否支持SIMD指令集
MMXBOOLON是否支持MMX指令集
SSEBOOLON是否支持SSE指令集
SSE2BOOLON是否支持SSE2指令集
SSE3BOOLON是否支持SSE3指令集
ASSEMBLYBOOLON是否使用汇编程序
ALSABOOL是否使用alsa
LIBSAMPLERATEBOOL是否使用libsamplerate
PULSEAUDIOBOOL是否使用PulseAudio
PTHREADSBOOL是否使用pthread
PTHREADS_SEMBOOL是否使用pthread中的信号量
ASSERTIONSSTRINGautoauto/disabled/release/enabled/paranoid
RPATHBOOLOFF是否使用rpath
SDL_TESTBOOLOFF是否编译测试代码
SDL_STATICBOOLOFF是否编译成静态库
SDL_SHAREDBOOLON是否编译成动态库

示例:

cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -G Ninja \
    -Wno-dev \
    -S . \
    -B build.d

step7、使用cmake命令进行编译

cmake --build build.d

step8、使用cmake命令进行安装

cmake --install build.d