我尝试在学校的 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 上运行良好。