问题描述
我正在尝试编译以下测试程序:
#include <SDL2/SDL.h>
int main(int argc,char** argv)
{
SDL_Window* window = SDL_CreateWindow("test",640,480,0);
SDL_DestroyWindow(window);
}
我首先在命令行上进行编译,并且正在使用以下命令(稍后将添加警告选项):
gcc test.c -lmingw32 -lSDL2main -lSDL2
在编译该程序时,我收到以下未定义的参考错误:
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\JACOBD~1\AppData\Local\Temp\cceuyYlI.o:test.c:(.text+0x36): undefined reference to `SDL_CreateWindow'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\JACOBD~1\AppData\Local\Temp\cceuyYlI.o:test.c:(.text+0x44): undefined reference to `SDL_DestroyWindow'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../libmingw32.a(main.o):(.text.startup+0xc0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
如上述错误所示,我目前正在使用http://www.mingw.org/中的gcc 9.2.0。在我的另一台开发机器上,我使用https://jmeubank.github.io/tdm-gcc/的TDM-GCC版本5.1.0,该测试程序以及其他SDL2程序可以在该版本上正确编译。
nm: effect_position.o: file format not recognized
nm: effect_stereoreverse.o: file format not recognized
nm: effects_internal.o: file format not recognized
nm: load_aiff.o: file format not recognized
nm: load_voc.o: file format not recognized
...
nm: native_midi_win32.o: file format not recognized
我不清楚问题是什么。从我所看到的,我已经将所有库和包含库放置在正确的位置。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)