2013-11-10 3 views
2

У меня есть программа C++ и OpenGL/GLSL, которая работает отлично весь день.Ошибка C2039: «exit» и ошибка C2873: «exit» (неожиданно Wont Compile)

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

Тезисы ошибки:

1>ClCompile: 
1> console.cpp 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2039: 'exit' : is not a member of '`global namespace'' 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2873: 'exit' : symbol cannot be used in a using-declaration 
1> Cube.cpp 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2039: 'exit' : is not a member of '`global namespace'' 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2873: 'exit' : symbol cannot be used in a using-declaration 
1> opengl3template.cpp 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2039: 'exit' : is not a member of '`global namespace'' 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2873: 'exit' : symbol cannot be used in a using-declaration 
1> Shader.cpp 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2039: 'exit' : is not a member of '`global namespace'' 
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2873: 'exit' : symbol cannot be used in a using-declaration 
1> 
1>Build FAILED. 

, которые ссылаются на это ниже в cstdlib:

using _CSTD exit; 

Любые идеи, как решить эту проблему?

+0

Вы пытались выключить и снова включить его? – suszterpatt

+0

Я буквально просто перезагрузил свой компьютер и перекомпилировал код ... По-прежнему та же проблема ... 'cstdlib' тоже является файлом для чтения ... Так странно; кроме просмотра фильма, ничего не было сделано на машине, так как я запускаю программу пару часов назад. – Reanimation

ответ

1

Я нашел решение.

По какой-то причине в заголовке stdlib.h следующая строка кода была закомментирована:

_CRTIMP __declspec(noreturn) void __cdecl exit(_In_ int _Code); 

Я только проверил заголовок, потому что он был упомянут в this пост.

Я не уверен, почему и почему это повлияло только на компилятор, но не комментируя его, он решил проблему, и программа выполнена нормально.

Смежные вопросы