2014-01-05 2 views
0

Я видел этот вопрос довольно много, но я довольно новичок в C++, и я пробовал следовать каждому ответу. Я пытаюсь использовать libsndfile lib с XCode и mac osx mavericks. Однако проблема заключается вC++ libsndfile и 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 быть для окон, но как я могу изменить это на макинтош?

ответ

0

Я нашел что-то, что работает. Для тех, кто хочет использовать библиотеку libsndfile с макинтош должны смотреть на это:

https://github.com/angeloseme/ofxLibsndfileRecorder

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

0

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

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