Непонятная ошибка, нехватка памяти и неопределенная ссылка с SDL_ShowSimpleMessageBox в блоках кода - PullRequest
0 голосов
/ 19 февраля 2019

Итак, я начинаю с Code Blocks и слежу за онлайн-уроком. Я создал пустой проект с одним файлом.

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


//Screen dimension constants
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;

int main( int argc, char* args[] )
{
    //The window we'll be rendering to
    SDL_Window* window = NULL;

    //The surface contained by the window
    SDL_Surface* screenSurface = NULL;

    //Initialize SDL
    if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
    {
        printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() );
    }
    else
    {
        //Create window
        window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
        if( window == NULL )
        {
            printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() );
        }
        else
        {
            //Get window surface
            screenSurface = SDL_GetWindowSurface( window );

            //Fill the surface white
            SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );

            //Update the surface
            SDL_UpdateWindowSurface( window );

            //Wait two seconds
            SDL_Delay( 2000 );
        }
    }

    //Destroy window
    SDL_DestroyWindow( window );

    //Quit SDL subsystems
    SDL_Quit();

    return 0;
}

Настройки компоновщика:

-lmingw32 -lSDL2main -lSDL2

И яполучить эту ошибку,

||=== Build: Debug in Yeet (compiler: GNU GCC Compiler) ===|
D:\Coding\addons\lib\x86\SDL2main.lib(Win32\Release\SDL_windows_main.obj):(.text[_OutOfMemory]+0xf)||undefined reference to `SDL_ShowSimpleMessageBox'|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

Я не уверен, является ли это ошибкой памяти, или неопределенной ошибкой ссылки, если это ошибка памяти, я бы не знал, почему, так как у других более крупных программ было достаточно памяти,и неопределенная ссылка является ошибкой для фрагмента кода, который, кажется, не в моем коде ... Любая помощь будет оценена.:)

1 Ответ

0 голосов
/ 23 февраля 2019

Так что да, я использовал не те библиотеки, поэтому, если у кого-то возникнут проблемы, убедитесь, что вы загружаете правильные файлы для вашей IDE.Спасибо HolyBlackCat:)

...