发布版本的GLUI运行时错误

时间:2014-08-06 01:55:15

标签: c++ visual-studio-2010 visual-c++ visual-c++-2010 glui

我正在使用GLUI开发我的第一个应用程序,而且我遇到了一些问题。我在Windows 7计算机上使用Visual Studio 2010并使用glui-2.35。我的应用程序在内置调试模式时运行正常,但在内置于发布模式时崩溃并出现运行时错误。从调试器中,错误来自glui.cpp中此函数的最后一个语句:

void GLUI_Master_Object::set_glutReshapeFunc(void (*f)(int width, int height))
{
  glutReshapeFunc( glui_reshape_func );
  add_cb_to_glut_window( glutGetWindow(), GLUI_GLUT_RESHAPE, (void*) f);
}

我不确定发布版本崩溃的原因;任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

我不是MSVC ++调试和发布模式的专家,但我一直在寻找一些信息,在this website中,有些用户会谈论它。

其中一个(@mcdeeiis),在此页面中说:

...
In a debug build the complete symbolic debug information is emitted to help while debugging applications and also the code optimization is not taken into account. 
While in release build the symbolic debug info is not emitted and the code execution is optimized.
Also, because the symbolic info is not emitted in a release build, the size of the final executable is lesser than a debug executable.

One can expect to see funny errors in release builds due to compiler optimizations or differences in memory layout or initialization. These are usually referred to as Release...

无论如何,检查GLUI或您的项目所依赖的库是否也已使用发布模式进行编译。这可能会导致问题。