windows - 为什么SDL_DisplayFormat崩溃?

标签 windows crash mingw sdl

在探查之后,我将其范围缩小到了SDL_DisplayFormat。我使用msys在Windows机器上使用g++ -o test.exe test.cpp -lmingw32 -lSDLmain -lSDL -lSDL2_image进行编译,并运行了可执行文件。然后echo $?返回3 ...

int main( int argc, char **args ) {
    int status = SDL_Init( SDL_INIT_EVERYTHING );
    if ( status == -1 ) return 4;

    screen = SDL_SetVideoMode( W_WIDTH, W_HEIGHT, BPP, SDL_SWSURFACE );
    if ( screen == NULL ) return 44;

    SDL_Surface *loaded_surface = IMG_Load( "./res/figure.png" );
    if ( loaded_surface == NULL ) return 444;

    SDL_Surface *background = SDL_DisplayFormat( loaded_surface );
    return 5;
    if ( background == NULL ) return 4444;

    SDL_FreeSurface( loaded_surface );

    SDL_BlitSurface( background, NULL, screen, NULL );

    SDL_Flip( screen );
    SDL_Delay( 2000 );

    return 0;
}

最佳答案

如此处所述:can i use SDL-1.2.15 with SDL2-image extension?
SDL2_ImageSDL 1.x不兼容,您应升级到SDL 2

关于windows - 为什么SDL_DisplayFormat崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24419806/

相关文章:

windows - 是否有检测操作系统的宏...?

c++ - 编译 wxWidgets 64 位时出错

c++ - 构建一个包含 opencv 库的 cmake c++ 项目

linux - 分离模式下 matlab 脚本编辑器窗口标题上的文件名

无法在 C(Windows)中使用 system() 更改文件名

windows - “无法将X识别为内部或外部命令,可操作程序或批处理文件”的原因是什么?

ios - dealloc AVCaptureVideoPreviewLayer 期间罕见崩溃

android - 应用程序在java.lang.NullPointerException上崩溃:

C++在递增unsigned long int时崩溃

c++ - vector::erase 不会删除所需的元素,而是删除 vector 中的最后一个元素