• 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

  • 相关阅读:
    LVS的持久连接、会话保持和高可用介绍
    lvs整理
    ubuntu 12.04 下LVS的一些搭建心得和资料整理
    Ubuntu下配置LVS【h】
    关于vector push_back()与其他方式读取数据的效率对比(转)
    强大的vim配置文件,让编程更随意(转)
    E492: Not an editor command: ^M
    Building Vim from source(转)
    误删 libc.so.6的解决方法(转)
    CentOS安装glibc-2.14(转)
  • 原文地址:https://www.cnblogs.com/findumars/p/6546108.html
Copyright © 2020-2023  润新知