Я видел этот вопрос довольно часто, но я довольно плохо знаком с C ++, и я пытался следовать каждому ответу. Я пытаюсь использовать библиотеку libsndfile с 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?
Я не знаком с этой библиотекой. Вы уверены, что включили правильный заголовочный файл. Из комментария видно, что этот файл предназначен для использования с Windows. Тем не мение…
__int64_t должен быть определен в каком-то другом заголовке. Это typedef на долго и долго.
Чтобы обойти это, вы можете добавить typedef long long __int64_t; прежде чем включить заголовок.
Я нашел то, что работает. Любой, кто хочет использовать библиотеку libsndfile с Mac, должен взглянуть на это:
https://github.com/angeloseme/ofxLibsndfileRecorder
Загрузите файлы и сохраните все файлы в папке src. Работает отлично. Кредит автору.