كما هو موضح في هذه المشكلة ، يبدو أن OSX يتضمن بالفعل GLsizeiptr وعدد قليل من الآخرين. نفس المشكلة تحدث مع glad.h أيضًا. يبدو أن الحل البديل هو استخدام long بدلاً من ptrdiff_t. هنا مثال آخر.
شكرًا ، سأضطر إلى النظر في هذا ولماذا توجد هذه الأنواع بالفعل ...
ركضت في هذه القضية أيضًا ، أي تحديثات حول هذا؟
في محاولة للنظر في هذه المشكلة في نهاية هذا الأسبوع ، آمل أن أجد طريقة لإعادة إنتاجها دون الوصول إلى مثيل OSX (أفترض أن مجرد الحصول على رؤوس OSX يكفي).
هتافات :)
يبدو الإصلاح كما يلي:
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
typedef long GLintptr;
#else
typedef ptrdiff_t GLintptr;
#endif
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
typedef long GLsizeiptr;
#else
typedef ptrdiff_t GLsizeiptr;
#endif
typedef int64_t GLint64;
typedef uint64_t GLuint64;
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
typedef long GLintptrARB;
#else
typedef ptrdiff_t GLintptrARB;
#endif
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
typedef long GLsizeiptrARB;
#else
typedef ptrdiff_t GLsizeiptrARB;
#endif
إصدارات OSX> 10.6 (بدءًا من 10.7) لديها دعم 64 بت فقط ، وللأسف لا يمكنني اختبار ذلك على جهاز OSX ، يرجى الإبلاغ إذا كان يعمل بالفعل على النحو المنشود.
بعد ذلك سأطلق إصدارًا جديدًا وأقوم بتحديث المولد عبر الإنترنت.
أضع هذه التغييرات في مسرور. يعمل لدي.
رائع شكرا!
التعليق الأكثر فائدة
في محاولة للنظر في هذه المشكلة في نهاية هذا الأسبوع ، آمل أن أجد طريقة لإعادة إنتاجها دون الوصول إلى مثيل OSX (أفترض أن مجرد الحصول على رؤوس OSX يكفي).