SDL2 Неопределенные ссылки на функции

Я пытаюсь настроить проект C ++, который основан на MinGW и использует SDL. Когда я пытаюсь скомпилировать свою программу, g ++ говоритundefined reference to 'SDL_Function' для каждой функции SDL я использую.

Lib / SDL2: содержимое SDL2-devel-2.0.0-mingw.tar.gz с веб-сайта SDL

Источник / main.cpp:

#include "SDL.h"

int main(int argc, char *argv[]) {
    SDL_Init(SDL_INIT_VIDEO);

    SDL_Window *window = SDL_CreateWindow(
        "Hello World",
        SDL_WINDOWPOS_CENTERED,
        SDL_WINDOWPOS_CENTERED,
        640, 480, 0
    );

    SDL_Delay(3000);
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 0;
}

Я использую Rake, чтобы немного упростить процесс сборки, команда, которую он создает:

g++ -Wall -ILib/SDL2/i686-w64-mingw32/include/SDL2 -Dmain=SDL_main -LLib/SDL2/i686-w64-mingw32/lib -lmingw32 -lSDL2main -lSDL2 -mwindows Source/Main.cpp -o Build/sdltest.exe

А вот что говорит g ++:

Main.cpp:(.text+0xe): undefined reference to `SDL_Init'`
Main.cpp:(.text+0x42): undefined reference to `SDL_CreateWindow'`
Main.cpp:(.text+0x51): undefined reference to `SDL_Delay'`
Main.cpp:(.text+0x5c): undefined reference to `SDL_DestroyWindow'`
Main.cpp:(.text+0x61): undefined reference to `SDL_Quit'`
ld.exe: bad reloc address 0x20 in section `.eh_frame'`
ld.exe: final link failed: Invalid operation`
collect2.exe: error: ld returned 1 exit status`

Это похоже на обычную проблему новичка, но я думаю, что прошел все пункты устранения неполадок:

Основная функция имеетint argc, char *argv[]Я использую все флаги из sdl-config (-Dmain = SDL_main -lmingw32 -lSDL2main -lSDL2 -mwindows)Я пытаюсь использовать версию 'i686-w64-mingw32', как и предполагалось при использовании 32-битного MinGWВсе указанные пути кажутся правильными

Любая подсказка, что происходит?

Ответы на вопрос(2)

Ваш ответ на вопрос