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