如何将SDL .a文件与GCC链接?

时间:2020-02-16 19:10:02

标签: gcc sdl

不是重复的;各种论坛上的答案都不能解决问题。 我正在通过命令运行GCC,尽管看起来好像我正确地链接了SDL,但我仍从SDL获取未定义的引用,如何停止获取那些未定义的引用呢? 我没有从mingw获得未定义的引用,只是从SDL中获取。

这是我的命令:(据我所知,所有库都由GCC定位)

gcc main.c ^
-o app.exe ^
-I "C:\__coding\tools\SDL2-2.0.10\x86_64-w64-mingw32\include\SDL2" ^
-L "C:\__coding\tools\MinGW\lib\" ^
-l "libmingw32.a" ^
-L "C:\__coding\tools\SDL2-2.0.10\x86_64-w64-mingw32\lib" ^
-l "libSDL2main.a" ^
-l "libSDL2.a"

这是输出:

C:...\main.c:(.text+0xe): undefined reference to 'SDL_Init'
C:...\main.c:(.text+0x13): undefined reference to 'SDL_Quit'
c:/__coding/tools/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\...\AppData\Local\Temp\ccqsLSRk.o: bad reloc address 0x20 in section '.eh_frame'
c:/__coding/tools/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status

main.c包含SDL.h,并且仅运行SDL_Init()和SDL_Quit()。 当我删除SDL_Init()和SDL_Quit()时,我还会获得对“ winmain”的经典未定义引用。 非常感谢。

0 个答案:

没有答案