• MinGW 编译 libsndfile-1.0.25(只要有 MSYS,./configure make make install 就行了)


    最近做的一个项目需要读写 wav 文件。在网上找到 libsndfile 刚好满足我的需要。
    但是编译的时候遇到了点小麻烦,这里记录一下编译的过程,免得下次再编译时忘记了。

    因为是在编译完成若干天后写的,有些细节可能不一定准确。

    libsndfile 是一个 C 语言写成的 开放源代码的音频文件读写的库。可以读写 WAV 格式,FLAC 格式和其他许多常见格式(因为专利原因不支持MP3)。LGPL 协议。

    如果只是用 libsndfile 读写标准的 PCM 编码的 wav 文件,那就很简单。
    只要有 MSYS, 
    ./configure
    make
    make install 
    就行了。

    如果想编译完全了。就需要有 libflac libogg 和 libvorbis 
    还需要有 pkg-config ,否则 libsndfile 找不到 libflac libogg 和 libvorbis
    不过 pkg-config 依赖于 glib ,所以直接在 MSYS 上编译 pkg-config 是无法编译通过的。
    我的办法是找了个 pkg-config 的替代品 pkg-config-lite

    pkg-config-lite 的主页在
    http://sourceforge.net/projects/pkgconfiglite/

    pkg-config-lite 移除了pkg-config 对 glib 的依赖关系。精简了不少。


    pkg-config-lite、libogg 和 libvorbis 编译没什么困难。

    ./configure
    make
    make install 

    libflac 包含在在 flac 中。 我最开始找的是 flac-1.2.1。
    编译时报了些错误,基本就是哪个函数没声明,缺少哪个宏定义一类的。改改源代码就可以编译了。

    但是编译成功后却找不到 libflac.dll 文件。而 libsndfile 却必须要动态链接 libflac。。。
    肯定是 Makefile 的问题,但是我水平不够不会改。只能想别的办法。

    后来找到 flac-1.3.0 , 编译通过,libflac.dll 也有了。

    最后编译 libsndfile 。 没遇到什么大问题。

    至此,libsndfile 编译完成。

    下一篇博客准备写写 libsndfile 的基本用法。

    http://blog.csdn.net/liyuanbhu/article/details/10099131

  • 相关阅读:
    第二章例2-9
    第二章例2-8
    第二章例2-7
    第二章例2-6
    第二章例2-5
    第二章例2-4
    第二章例2-3
    第二章例2-2
    第二章例2-1
    第一章例1-2
  • 原文地址:https://www.cnblogs.com/findumars/p/6546108.html
Copyright © 2020-2023  润新知