Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ SDL 1.2->;SDL2.0(崩溃程序)_C++_Crash_Mingw_Lazy Evaluation_Sdl 2 - Fatal编程技术网

C++ SDL 1.2->;SDL2.0(崩溃程序)

C++ SDL 1.2->;SDL2.0(崩溃程序),c++,crash,mingw,lazy-evaluation,sdl-2,C++,Crash,Mingw,Lazy Evaluation,Sdl 2,因此,我使用了SDL2.0迁移指南,并最终使代码编译无误。。。但是现在它崩溃了,这是我第一次有程序崩溃,而且没有编译器来指导我。 我正在使用LazyFoo的第29个sdl教程,看看是否可以迁移它。 我真的认为我做了一个讨厌的节目,我把它扔给你们,因为我是无知的。 以下是我的进展: 您似乎有几个问题 首先,您没有在load_images()函数中加载任何图像,因此无论何时调用它们(即渲染),它们都将是空指针 接下来是init()函数 bool init() { SDL_Init; // &l

因此,我使用了SDL2.0迁移指南,并最终使代码编译无误。。。但是现在它崩溃了,这是我第一次有程序崩溃,而且没有编译器来指导我。 我正在使用LazyFoo的第29个sdl教程,看看是否可以迁移它。 我真的认为我做了一个讨厌的节目,我把它扔给你们,因为我是无知的。 以下是我的进展:
您似乎有几个问题

首先,您没有在
load_images()
函数中加载任何图像,因此无论何时调用它们(即渲染),它们都将是空指针

接下来是
init()
函数

bool init()
{
  SDL_Init;  // <---- REMOVE THIS LINE

  //Initialize all SDL subsystems
  if( SDL_Init( SDL_INIT_EVERYTHING) == -1 )
  {
    return false;
  }


  SDL_Window *sdlWindow;        // <----- REMOVE THIS VARIABLE
  SDL_Window *window;           
  SDL_Texture *sdlRenderer;     // <----- REMOVE THIS VARIABLE

  // Create an application window with the following settings:

  // NO NEED FOR SDL_WINDOW_OPENGL replace with SDL_WINDOW_SHOWN

  window = SDL_CreateWindow(
                          "Why is this even alive?",         //    window title
                          SDL_WINDOWPOS_UNDEFINED,           //    initial x position
                          SDL_WINDOWPOS_UNDEFINED,           //    initial y position
                          640,                               //    width, in pixels
                          480,                               //    height, in pixels
                          SDL_WINDOW_SHOWN                   //    flags - see below
                          );

  // sdlWindow should be just window and you should do a NULL check before creating the render
  if (window != NULL) {
    SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);

    if (renderer == NULL) {
      printf("Could not create renderer: %s\n", SDL_GetError());
      SDL_DestroyWindow(window);
    }
  }
  else {
    printf("Could not create window: %s\n", SDL_GetError());
    return false;
  }
}
bool init()
{

SDL_Init;//您试过在调试器中运行吗?仅供参考,LazyFoo现在也重新发布了SDL 2.0中的教程,还有一些教程涵盖了额外的功能:哇……我从来都不知道IDE有这么大的一笔交易,我想mingw developer studio可以。@user2797777与其说它们是一笔大交易,还不如说它们是许多pe但是,在这种情况下,bug是编译器将标记给你的东西,即未初始化变量、未使用的变量等等。为什么你不选择Visual C++快件2010?我认为它是Windows上开发的最好的IDE,然后是Eclipse,两者都是免费的。