【问题标题】:Visual Studio and SDL2 Window Creation FailingVisual Studio 和 SDL2 窗口创建失败
【发布时间】:2016-07-21 00:37:38
【问题描述】:

以下代码存在我的问题,它在 Visual Studio 之外编译和运行良好;

#include "SDL.h"
#include <stdio.h>

int main(int argc, char* argv[]) {
    if(SDL_Init(SDL_INIT_VIDEO) != 0)
        printf("%s", SDL_GetError());

    SDL_Window* window = SDL_CreateWindow("Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN);

    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;    

}

这个问题来自一个更大的程序,但与这个简单的例子完全相同。该程序运行良好,直到声明window,当程序停止响应窗口并崩溃时。我以前的所有 SDL 项目都无法在 Visual Studio 中运行,但在 IDE 之外仍然可以正常运行。

我刚刚重新安装并重置了 Visual Studio 2015 Update 2 上的所有用户设置。我正在使用我自己编译的最新 SDL 2.0.4 库文件。我正在为 Debug x86 构建配置。

编辑:我在VS中提高了调试器的灵敏度,在创建窗口时出现了这个异常,

Execption thrown at 0x101EB0B9 (swwxijqt.dll) in SDL_Text.exe: 0xC0000096:
Privileged instruction.

【问题讨论】:

  • 您是否尝试过使用 Visual Studio 出色的调试器来找出崩溃的原因?
  • 我可以在window 之前的每一行代码上使用调试器,但只要我点击继续声明,它就会崩溃并且不会传递任何异常。
  • 但是那个评论让我想到了VS中断点的敏感性,所以我启用了所有的断点,我得到的例外被编辑到主帖中。

标签: c++ visual-studio-2015 sdl


【解决方案1】:

我不知道发生了什么,也不知道如何解决它,但我做了一件可以保证解决你无法控制的问题的事情。重新安装 Windows 解决了我的问题。那个 DLL 一定有问题,而且没有办法解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2012-07-22
    • 2021-03-17
    • 2021-12-10
    • 1970-01-01
    相关资源
    最近更新 更多