C ++ libsndfile和mac osx

时间:2014-01-05 16:03:51

标签: c++ macos libsndfile

我已经看到了很多这个问题,但我对C ++很新,我尝试过每个答案。我试图使用libsndfile lib与XCode和mac osx mavericks。然而问题在于

/* 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更改此内容?

2 个答案:

答案 0 :(得分:0)

我不熟悉这个库。您确定要包含正确的头文件吗?从评论中可以看出,该文件旨在与Windows一起使用。总之...

__ int64_t应该在其他一些标题中定义。长期是typedef。 要解决此问题,您可以添加typedef long long __int64_t;在包含标题之前。

答案 1 :(得分:0)

我发现了一些有用的东西。对于任何希望将libsndfile库与mac一起使用的人,请查看:

https://github.com/angeloseme/ofxLibsndfileRecorder

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