zoukankan      html  css  js  c++  java
  • MinGW 编译 libsndfile-1.0.25

    最近做的一个项目需要读写 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 的基本用法。

  • 相关阅读:
    Python 自省指南(原文http://www.ibm.com/developerworks/cn/linux/l-pyint/#ibm-pcon)
    PyDev for Eclipse 简介
    (转)盘点前 10 名的免费跨浏览器测试工具
    使用 JMeter 完成常用的压力测试
    Python 单元测试框架 —— PyUnit
    runtime实现对象存储型数据库——LHDB
    从零实现一个基于UDP的iOS聊天程序(一)-- GCDAsyncUdpSocket源码解析
    hadoop实战随笔_070818
    hadoop实战笔记_170816
    hadoop实战随笔_170814
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3270919.html
Copyright © 2011-2022 走看看