2

debian x32 で学校のライブラリ SDL2 を使用して C++ コードをコンパイルしようとしましたが、いくつかのエラーが発生しました。

main.cpp:(.text+0x39): undefined reference to `SDL_CreateWindow'
main.cpp:(.text+0x59): undefined reference to `SDL_CreateRenderer'
main.cpp:(.text+0x69): undefined reference to `SDL_RenderPresent'
main.cpp:(.text+0x75): undefined reference to `SDL_Delay'
collect2: error: ld returned 1 exit status

私のmain.cpp:

#include "SDL2/SDL.h"

int main()
{
    SDL_Window *screen;
    SDL_Renderer *renderer;

    screen = SDL_CreateWindow("test", SDL_WINDOWPOS_CENTERED, 20, 500, 300, SDL_WINDOW_SHOWN);
    renderer = SDL_CreateRenderer(screen, -1, SDL_RENDERER_PRESENTVSYNC);
    SDL_RenderPresent(renderer);
    SDL_Delay(1);
    return 0;
}

ターミナルで、次のように書きます。

g++ main.cpp -L. -lSDL2 -lSDL2main

私が持っている同じフォルダに:

  • すべての.hファイルを含むフォルダー「SDL2」
  • ファイル:
    • libSDL2.a
    • libSDL2.dll.a
    • libSDL2main.a

在学中なのでroot権限がなくて何もインストールできません。

私自身のWindowsまたはdebian上のコンピューターは完全に機能します。

4

0 に答える 0