سؤال

في برنامج OpenGL البسيط الخاص بي، أحصل على الخطأ التالي حول إعادة تعريف الخروج:

1>c:\program files\microsoft visual studio 8\vc\include\stdlib.h(406) : error C2381: 'exit' : redefinition; __declspec(noreturn) differs
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\glut.h(146) : see declaration of 'exit'

أنا أستخدم نيت روبينز وفرة لWin32 واحصل على هذا الخطأ مع Visual Studio 2005 أو Visual C++ 2005 (Express Edition).ما هو سبب هذا الخطأ وكيف أصلحه؟

هل كانت مفيدة؟

المحلول

سبب:

ال stdlib.h الذي يأتي مع الإصدارات الأخيرة من Visual Studio له تعريف مختلف (ومتضارب) لـ مخرج() وظيفة.وهو يتعارض مع التعريف في تخمة. ح.

حل:

تجاوز التعريف الموجود في glut.h مع ذلك الموجود في stdlib.h.ضع السطر stdlib.h فوق سطر glut.h في التعليمات البرمجية الخاصة بك.

#include <stdlib.h>
#include <GL/glut.h>

نصائح أخرى

أو هذا...لإصلاح الخطأ، انقر بزر الماوس الأيمن على اسم المشروع في علامة التبويب Solution Explorer وحدد خصائص -> C/C++ -> المعالج المسبق -> تعريفات المعالج المسبق وألحق GLUT_BUILDING_LIB بالتعريفات الموجودة، مفصولة بفواصل منقوطة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top