C++ libsndfile 和 mac osx

Posted

技术标签:

【中文标题】C++ libsndfile 和 mac osx【英文标题】:C++ libsndfile and mac osx 【发布时间】:2014-01-05 16:03:50 【问题描述】:

我已经多次看到这个问题,但我对 C++ 还是很陌生,我已经尝试过每个答案。我正在尝试将 libsndfile 库与 XCode 和 mac osx 小牛一起使用。然而问题在于

/* The following typedef is system specific and is defined when libsndfile is
 ** compiled. sf_count_t can be one of loff_t (Linux), off_t (*BSD), off64_t
 ** (Solaris), __int64_t (Win32) etc. On windows, we need to allow the same
 ** header file to be compiler by both GCC and the microsoft compiler.
 */

#ifdef _MSCVER
typedef __int64_t       sf_count_t ;
#define SF_COUNT_MAX            0x7fffffffffffffffi64
#else
typedef __int64_t   sf_count_t ;
#define SF_COUNT_MAX            0x7FFFFFFFFFFFFFFFLL
#endif

我在哪里收到错误“未知类型名称'__int64' 我知道这是因为 __int64 用于 Windows,但我如何才能为 mac 更改它?

【问题讨论】:

【参考方案1】:

我不熟悉这个库。你确定你包含正确的头文件。从评论看来,该文件旨在与 Windows 一起使用。总之……

__int64_t 应该在其他一些头文件中定义。它是很长很长的typedef。 要解决此问题,您可以添加 typedef long long __int64_t;在包含标题之前。

【讨论】:

【参考方案2】:

我发现了一些有用的东西。任何希望在 mac 上使用 libsndfile 库的人都应该看看这个:

https://github.com/angeloseme/ofxLibsndfileRecorder

下载文件并转储 src 文件夹中的所有文件。完美运行。感谢作者。

【讨论】:

以上是关于C++ libsndfile 和 mac osx的主要内容,如果未能解决你的问题,请参考以下文章

qt中使用libsndfile实时播放声音c++

在 C++ 中使用 libsndfile 从 WAV 文件中提取原始音频数据

MacPorts 2.1.2 git 和 libsndfile 安装

iOS 上的 libsndfile

使用 Ogg Flac 和 Vorbis 在 Fedora 中构建 libsndfile

OSX 上的 Libsndfile 损坏数据