树莓派上使用SDL2开发库、运行库,有以下三种方法:
- 第一种,使用包管理器或apt安装。
- 第二种,自己编译,通过configure配置需要的模块。
- 第三种,下载官方提供的开发包。
直接使用apt安装发现依赖库非常多(特别是视频有关),体积也是达到了500M。自己配置编译可裁剪,但可能优化配置存在问题。因此选择其他方式。
1、源码编译
进入SDL官网下载源码,解压
cd SDL
mkdir build
cd build
../configure
make
sudo make install
直接编译、安装都成功。
安装好库之后,可以使用sdl2-config工具快速配置编译源代码生成程序,
gcc -o myprogram myprogram.c `sdl2-config --cflags --libs`
g++ -o myprogram myprogram.cpp `sdl2-config --cflags --libs`
运行发现打不开设备。。。
原因未查。。。
待续。。。
2、官方提供包
直接下载SDL为raspberry提供的预编译开发包,可能某些功能缺少相应的系统依赖。
下载链接 LIBSDL_Raspberry_Pi。

下载最新版本解压即可,解压后30M左右。
源代码编译、运行一切正常。
也方便交叉编译。
3、音频测试源代码
第一种,使用回调方式
#include <iostream>
#define SDL_MAIN_HANDLED
#include "SDL.h"
#define MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio //48000 * (32/8)
unsigned int audioLen = 0;
unsigned char *audioChunk = NULL;
unsigned char *audioPos = NULL;
void fill_audio(void * udata, Uint8 * stream, int len)
{
SDL_memset(stream, 0, len);
if(audioLen == 0)
return;
len = (len>audioLen ? audioLen : len);
SDL_MixAudio(stream, audioPos, len, SDL_MIX_MAXVOLUME);
audioPos += len;
audioLen -= len;
}
int main

本文介绍了在树莓派上配置SDL2开发环境的三种方法:使用包管理器安装、源码编译以及官方提供的预编译包。源码编译虽然可以裁剪依赖,但可能出现设备打开问题;官方包体积小且运行正常,适合交叉编译。最后,文章还提及了两种音频测试的源代码实现。
最低0.47元/天 解锁文章
5381

被折叠的 条评论
为什么被折叠?



