我已经看到了很多这个问题,但我对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更改此内容?
答案 0 :(得分:0)
我不熟悉这个库。您确定要包含正确的头文件吗?从评论中可以看出,该文件旨在与Windows一起使用。总之...
__ int64_t应该在其他一些标题中定义。长期是typedef。 要解决此问题,您可以添加typedef long long __int64_t;在包含标题之前。
答案 1 :(得分:0)
我发现了一些有用的东西。对于任何希望将libsndfile库与mac一起使用的人,请查看:
https://github.com/angeloseme/ofxLibsndfileRecorder
下载文件并转储src文件夹中的所有文件。完美的工作。感谢作者。