macos — C ++ libsndfile и mac osx

Я видел этот вопрос довольно часто, но я довольно плохо знаком с 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?

0

Решение

Я не знаком с этой библиотекой. Вы уверены, что включили правильный заголовочный файл. Из комментария видно, что этот файл предназначен для использования с Windows. Тем не мение…

__int64_t должен быть определен в каком-то другом заголовке. Это typedef на долго и долго.
Чтобы обойти это, вы можете добавить typedef long long __int64_t; прежде чем включить заголовок.

0

Другие решения

Я нашел то, что работает. Любой, кто хочет использовать библиотеку libsndfile с Mac, должен взглянуть на это:

https://github.com/angeloseme/ofxLibsndfileRecorder

Загрузите файлы и сохраните все файлы в папке src. Работает отлично. Кредит автору.

0

По вопросам рекламы [email protected]