`
lobin
  • 浏览: 417569 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SDL: 安装SDL2_mixer

 
阅读更多

SDL2_mixer

安装SDL2_mixer之前必须安装SDL2。

 

另外安装SDL2_mixer之前需要安装些其他的库.当然这些库不是必须安装的。

 

libmpg123

下载mpg123-1.26.2.tar.bz2

./configure LDFLAGS=-L/usr/local/SDL2-2.0.7/lib SDL_LIBS=-lSDL2 --enable-static --enable-shared

 

--enable-shared选项可以不指定,该选项默认是开启的。

 

make

make install

 

安装SDL2_mixer

./configure --prefix=/usr/local/SDL2_mixer-2.0.4 --with-sdl-prefix=/usr/local/SDL2-2.0.7 CPPFLAGS=-I/usr/local/SDL2-2.0.7/include/SDL2 LDFLAGS=-L/usr/local/SDL2-2.0.7/lib --disable-sdltest

 

./configure --prefix=/usr/local/SDL2_mixer-2.0.4_2 --with-sdl-prefix=/usr/local/SDL2-2.0.7 CFLAGS=-I/usr/local/SDL2-2.0.7/include/SDL2 LDFLAGS=-L/usr/local/SDL2-2.0.7/lib --disable-sdltest --enable-music-mp3 --enable-music-mp3-mad-gpl --enable-music-mp3-mad-gpl-dithering

 

记得指定--disable-sdltest,不然可能会出现如下错误:

checking for SDL - version >= 2.0.7... no

*** Could not run SDL test program, checking why...

*** The test program failed to compile or link. See the file config.log for the

*** exact error that occured. This usually means SDL was incorrectly installed

*** or that you have moved SDL since it was installed. In the latter case, you

*** may want to edit the sdl2-config script: /usr/local/SDL2-2.0.7/bin/sdl2-config

configure: error: *** SDL version 2.0.7 not found!

 

如果没安装libmpg123,会出现这些提示警告:

checking mpg123.h usability... no

checking mpg123.h presence... no

checking for mpg123.h... no

checking for mpg123_replace_reader_handle in -lmpg123... no

configure: WARNING: *** Unable to find mpg123 library (https://www.mpg123.de)

configure: WARNING: mpg123 support disabled

configure: WARNING: MP3 support disabled

 

make

在make之前,把Makefile和libtool中的-mno-cygwin都去掉,不然可能会出现以下错误:

gcc: The -mno-cygwin flag has been removed; use a mingw-targeted cross-compiler.

 

当然这里提示使用mingw-targeted cross-compiler,不过我换了之后make也会报些其他的错误:

/usr/lib/gcc/i686-w64-mingw32/4.5.3/../../../../i686-w64-mingw32/bin/ld: cannot find -lcygwin

collect2: ld returned 1 exit status

Makefile:65: recipe for target `build/libSDL2_mixer.la' failed

 

make: *** [build/libSDL2_mixer.la] Error 1

 

/usr/i686-w64-mingw32/sys-root/mingw/lib/libmingw32.a(lib32_libmingw32_a-merr.o): In function `_matherr':

/usr/src/debug/mingw64-i686-runtime-3.0b_svn5747-1/crt/merr.c:38: multiple definition of `__matherr'

/lib/libcygwin.a(t-d000433.o):fake:(.text+0x0): first defined here

collect2: ld returned 1 exit status

Makefile:68: recipe for target `build/playwave.exe' failed

make: *** [build/playwave.exe] Error 1

 

make install

 

./build/.libs中的playmus.exe,playwave.exe拷贝到/usr/local/SDL2_mixer-2.0.4/bin目录下:

cp -rf ./build/.libs/*.exe /usr/local/SDL2_mixer-2.0.4/bin

 

SDL2的SDL2.dll库拷贝到/usr/local/SDL2_mixer-2.0.4/bin目录下:

cp -rf /usr/local/SDL2-2.0.7/bin/SDL2.dll /usr/local/SDL2_mixer-2.0.4/bin

不然的话,运行上面两个命令的时候会报找不到SDL2.dll库。

 

由于是在Cygwin下安装,playmus.exe,playwave.exe这两个命令只能在Cygwin下运行。

 

安装后的目录结构:

写道
├─bin
│ playmus.exe
│ playwave.exe
│ SDL2.dll
│ SDL2_mixer.dll

├─include
│ └─SDL2
│ SDL_mixer.h

└─lib
│ libSDL2_mixer.a
│ libSDL2_mixer.dll.a
│ libSDL2_mixer.la

└─pkgconfig
SDL2_mixer.pc

 

播放wav音频

./playwave.exe h:\\yuganqingwuguan.wav

 

./playmus.exe h:\\yuganqingwuguan.wav

 

0
1
分享到:
评论

相关推荐

    SDL_mixer声音播放函数库

    #include <SDL2_mixer.h> int main(int argc, char* argv[]) { if (SDL_Init(SDL_INIT_AUDIO) ) { printf("SDL_Init Error: %s\n", SDL_GetError()); return -1; } if (Mix_Init(MIX_INIT_OGG) != MIX_INIT_...

    SDL_mixer-1.2.11 源代码

    `SDL_mixer-1.2.11` 是一个开源的音频处理库,它是基于 `Simple DirectMedia Layer`(简称SDL)的扩展库。这个版本是1.2.11,专为处理多媒体音频而设计,支持多种音频格式,使开发者能够在他们的应用程序中轻松集成...

    SDL_mixer-1.2.12

    **SDL_mixer-1.2.12:游戏音频混合库详解** `SDL_mixer`是一个开源的跨平台多媒体库,专为游戏开发者设计,用于处理音频混合、音乐播放和音效管理。这个版本是1.2.12,虽然相对较老,但在许多遗留项目或对稳定性和...

    SDL_mixer-devel-1.2.12-VC.zip

    虽然标题中提到的"Delphi"通常与Pascal编程语言和其对应的开发环境相关,而SDL_mixer主要被C/C++开发者使用,但存在一些社区提供的第三方绑定(如Delphi bindings),使得Delphi开发者也能利用SDL_mixer的功能。...

    SDL_mixer-devel-1.2.11-VC.zip

    《SDL_mixer在Windows开发中的应用详解》 SDL_mixer是一个强大的开源音频混音库,专为游戏开发和其他需要音频处理的应用程序设计。在本文中,我们将深入探讨SDL_mixer-devel-1.2.11-VC.zip这个压缩包,它是针对...

    sdl2_mixer-用于Rust的SDL2_mixer绑定-Rust开发

    自rust-sdl2v0.27起,此板条箱已弃用,其功能...要求Rust-SDL2 SDL2_mixer开发库最新稳定的Rust主OSX brew安装sdl2_mixer --with-flac --with-fluid-synth --with-libmikmod --with-libmodplug --with-libvorbis --wit

    linux sdl 库和头文件

    1. **安装SDL库**:在Linux环境下,可以通过包管理器如`apt`(Ubuntu/Debian)或`yum`(Fedora/CentOS)来安装SDL库。例如,使用`apt-get install libsdl2-dev`命令可以获取开发所需的库文件和头文件。 2. **头文件...

    SDL2-2.0.12-win-x64_x86.zip

    - **视频播放**:结合SDL_mixer,可以播放音频文件和视频流。 - **物理模拟**:与Box2D等物理引擎结合,实现游戏中的物理行为。 - **网络通信**:利用SDL_net库,实现网络连接和数据传输。 ### 5. 总结 SDL2是一个...

    SDL2_image

    SDL2_image可以与SDL2_ttf(文本渲染)、SDL2_mixer(音频处理)和SDL2_net(网络功能)等库配合使用,构建完整的多媒体应用。 9. **版本更新** 在给定的压缩包文件中,包含的是SDL_image-1.2.4版本。虽然这是...

    SDL.rar_SDL知名游戏_sdl教程_sdl游戏

    教程通常会从安装和配置SDL环境开始,确保开发者可以在各自的平台上运行SDL程序。接着,它会介绍SDL的核心概念,如窗口管理、渲染系统、图像加载和显示、事件处理以及声音播放。对于初学者来说,理解这些基本概念是...

    sdl的linux源码包SDL2-2.0.2

    10. **扩展库**:有许多基于SDL2的扩展库,如SDL_ttf用于文本渲染,SDL_image处理图像加载,SDL_mixer处理音频混合等。 在实际使用中,开发者需要了解如何配置和编译SDL2源代码,以及如何在项目中集成和使用它的API...

    audio-demo:使用SDL2_Mixer向SDL2OpenGL应用程序添加声音效果和音乐的演示

    "audio-demo" 这个标题暗示了一个示例项目,它演示了如何在使用SDL2(Simple DirectMedia Layer 2)图形库的OpenGL应用程序中集成SDL2_Mixer库来添加声音效果和音乐播放功能。SDL2_Mixer是SDL2的一个扩展库,专门...

    使用SDL2框架显示FPS的例子,VS2022编译通过 包含:SDL2-image、SDL2-mixer、SDL2-ttf

    同时,项目还使用了SDL2的几个扩展库:SDL2_image、SDL2_mixer和SDL2_ttf。这些扩展库分别提供了图像加载、音频混音和TrueType字体的支持,极大地丰富了SDL2的功能。 - SDL2_image:这个库使得开发者能够加载和渲染...

    SDL2系列教程7-声音和扩展库实例代码

    SDL2 扩展库 虽然SDL为多个系统提供了广泛的API,但它忽略了某些领域,而在其他领域缺乏功能。扩展库解决了这个问题,以模块化方式添加了更多功能。 热门扩展: SDL_Image 加载各种类型的图像 SDL_Mixer 提供声音...

    sdl1.2和sdl2.0_windows

    5. **视频播放**:通过添加额外的库,如SDL_mixer和SDL_image,可以实现音视频播放功能。 6. **窗口管理**:提供创建和管理窗口的功能。 7. **兼容性**:与许多编程语言结合良好,如C、C++、Python等。 然而,SDL ...

    SDL2最新版本

    SDL2-2.0.1.tar.gz SDL2_gfx-1.0.0.tar.gz SDL2_image-2.0.0.tar.gz SDL2_ttf-2.0.12.tar.gz SDL2_mixer-2.0.0.tar.gz SDL2_net-2.0.0.tar.gz tslib-1.4.tar.bz2(gfx 依赖)freetype-2.4.8.tar.bz2(ttf 依赖) ...

    sdl2 C# 封装

    描述中提到的"sdl2.dll、sdl2_image.dll、SDL2_mixer.dll"是SDL2的核心组件和扩展库: 1. `sdl2.dll`:这是SDL2的主要动态链接库,提供了基本的窗口管理、事件处理、渲染、定时器和文件加载等功能。 2. `sdl2_image....

    sdl_test.rar_UP_sdl

    - **SDL_mixer**:音频混音库,支持多个音轨混合。 - **SDL_net**:网络通信库,可用于游戏的多人对战功能。 3. **编程实践**: - **初始化和退出**:程序开始时需调用`SDL_Init()`初始化SDL,结束后用`SDL_Quit...

    SDL2.rar

    除了核心库,SDL2还有许多扩展库,如SDL2_ttf用于渲染TrueType字体,SDL2_image支持多种图像格式的加载,SDL2_mixer处理音频混合,以及SDL2_net提供网络通信功能。 **应用场景** SDL2广泛应用于游戏开发、模拟器、...

    SDL Game Development 源码_基于SDL2.0

    11. **扩展库**:除了核心的SDL库,还有许多扩展库如SDL_ttf用于渲染文本,SDL_image支持更多图片格式,SDL_mixer处理音频混合,SDL_net处理网络通信。 通过分析和学习`SDLGameDevelopment`这个源码项目,你可以...

Global site tag (gtag.js) - Google Analytics