有关 Windows 上此 SDL_CreateWindow 错误的任何信息?

问题描述

使用 SDL 为使用 Vulkan 的渲染引擎创建窗口。遵循 this 代码。以下是感兴趣的片段:

SDL_Init(SDL_INIT_VIDEO);

SDL_WindowFlags window_flags = (SDL_WindowFlags)(SDL_WINDOW_VULKAN);

_window = SDL_CreateWindow(
    "Vulkan Engine",SDL_WINDOWPOS_UNDEFINED,_windowExtent.width,_windowExtent.height,window_flags
);

我使用的是 Visual Studio 2019。看到此错误,从源代码构建 SDL 作为 this answer 建议的 Vulkan 标志可能未在发布的二进制文件中启用。仍然,在创建窗口时出错。逐行调试指向这里作为事情中断的行:

return CallWindowProc(data->wndproc,hwnd,msg,wParam,lParam);

SDL_windowsevents.c

异常:

Exception thrown at 0x00007FFF584A4F8E (ntdll.dll) in GraphicsModel.exe: 0xC00000FD: Stack 
overflow (parameters: 0x0000000000000001,0x000000ED25003FB8).
Unhandled exception at 0x00007FFF584A4F8E (ntdll.dll) in GraphicsModel.exe: 0xC000041D: An unhandled exception was encountered during a user callback.

让我知道是否应该粘贴完整的堆栈跟踪。无法弄清楚是什么原因,任何帮助都会很棒!

编辑:调用堆栈(确认无限递归)

    ntdll.dll!00007ffb84e44f8e()    UnkNown
    user32.dll!00007ffb83345aa4()   UnkNown
    user32.dll!00007ffb833458ee()   UnkNown
    mfc140ud.dll!00007ffaf0091b05() UnkNown
    user32.dll!00007ffb83345c1d()   UnkNown
    user32.dll!00007ffb833458ee()   UnkNown
    SDL2.dll!0000000075e4e7d0() UnkNown
    user32.dll!00007ffb83345c1d()   UnkNown
    user32.dll!00007ffb833458ee()   UnkNown
    mfc140ud.dll!00007ffaf0091b05() UnkNown
    user32.dll!00007ffb83345c1d()   UnkNown
    user32.dll!00007ffb833458ee()   UnkNown



    THIS BLOCK REPEATS 'n' times
    ---------------------------------------

    SDL2.dll!0000000075e4e7d0() UnkNown
    user32.dll!00007ffb83345c1d()   UnkNown
    user32.dll!00007ffb833458ee()   UnkNown
    mfc140ud.dll!00007ffaf0091b05() UnkNown
    user32.dll!00007ffb83345c1d()   UnkNown
    user32.dll!00007ffb833458ee()   UnkNown

    ---------------------------------------


    SDL2.dll!0000000075e4e7d0() UnkNown
    user32.dll!00007ffb83345c1d()   UnkNown
    user32.dll!00007ffb833457ec()   UnkNown
    user32.dll!00007ffb83354432()   UnkNown
>   ntdll.dll!00007ffb84ec0b04()    UnkNown
    win32u.dll!00007ffb82ea1524()   UnkNown
    SDL2.dll!0000000075e58ebe() UnkNown
    SDL2.dll!0000000075e2172d() UnkNown
    GraphicsModel.exe!VulkanEngine::init() Line 59  C++
    GraphicsModel.exe!CMainFrame::OnCreate(tagCREATESTRUCTW * lpCreateStruct) Line 67   C++
    [External Code] 
    GraphicsModel.exe!CGraphicsModelApp::InitInstance() Line 106    C++
    [External Code] 
    GraphicsModel.exe!wWinMain(HINSTANCE__ * hInstance,HINSTANCE__ * hPrevInstance,wchar_t * lpCmdLine,int nCmdshow) Line 26 C++
    [External Code] 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)