【发布时间】:2026-02-08 12:30:01
【问题描述】:
我正在尝试将代码从初步项目移动到新项目(均在 Visual Studio 2012 下制作)。
原来的应用程序是 控制台应用程序,我希望新的应用程序是 Windows 应用程序。我创建了一个空项目并移动了文件/设置了库路径。
这是一个带有着色器的简单 OpenGL 程序。
编辑:
即使我切换回创建控制台应用程序具有相同的 .vcproj 属性,我也会在发布和调试时遇到致命错误。 您可以在下面找到它们。
为什么我的程序会崩溃?所有库路径都设置得很好,因为它与具有相同文件的先前项目的设置相同(在不同的解决方案中)。
错误
释放崩溃位置(在dbghook.c 中的#ifdef _DEBUG 之外 文件)
int _debugger_hook_dummy;
__declspec(noinline)
void __cdecl _CRT_DEBUGGER_HOOK(int _Reserved)
{
/* assign 0 to _debugger_hook_dummy so that the function is not folded in retail */
(_Reserved);
_debugger_hook_dummy = 0;
}
调试崩溃位置 (fread.c) - 出现弹出错误窗口 (调试断言失败):
_VALIDATE_RETURN((stream != NULL), EINVAL, 0);
【问题讨论】:
-
为什么不使用向导创建一个新的 Windows 应用程序并放入您的文件中呢?或者创建一个console应用和一个windows应用,比较一下vcproj有什么区别?
-
这听起来更像是一个库兼容性问题。确保您使用的 GLUT 版本与您的 VC++ 版本(编译器、链接器和运行时库)兼容。
-
我进行了比较(与 Araxis),以便 .vcproj 文件中的每个参数在 2 个控制台应用程序之间匹配。还是不能让新项目运行起来……
标签: c++ opengl visual-studio-2012 console-application windows-applications