Ошибка переопределения выхода при перенасыщении

StackOverflow https://stackoverflow.com/questions/14402

  •  08-06-2019
  •  | 
  •  

Вопрос

В моей простой программе 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).В чем причина этой ошибки и как мне ее исправить?

Это было полезно?

Решение

Потому что:

Тот Самый стандартный файл.h который поставляется с последними версиями Visual Studio, имеет другое (и конфликтующее) определение выход() функция.Это противоречит определению в перенасыщение.ч.

Решение:

Переопределите определение в glut.h определением в stdlib.h.Поместите строку stdlib.h над строкой glut.h в вашем коде.

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

Другие советы

или это...Чтобы исправить ошибку, щелкните правой кнопкой мыши на названии проекта на вкладке Обозреватель решений и выберите Свойства -> C / C ++ -> Препроцессор -> Определения препроцессора и добавьте GLUT_BUILDING_LIB к существующим определениям, разделенным точкой с запятой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top