undefined reference to `WinMain‘的解决

项目场景:

C语言,使用了SDL图形库。
代码开头如下:

#include <stdio.h>
#include "SDL2/SDL.h"
#include "SDL2/SDL_image.h"
#include "SDL2/SDL_ttf.h"

int SDL_main(int argc, char *argv[]) {

}

问题描述

Terminal输入

gcc tries.c -o tries

有以下报错信息

c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\33079\AppData\Local\Temp\ccXhpg4E.o:tries.c:(.text+0x413): undefined reference to  `WinMain';

解决方案:

我先尝试或检查了以下几点:
1.int main拼写错误
2.没写主函数main
3.重启Clion
都未能解决

最后的解决方法:
添加#undef main,并把int SDL_main改成int main.
具体如下

#include <stdio.h>
#include "SDL2/SDL.h"
#include "SDL2/SDL_image.h"
#include "SDL2/SDL_ttf.h"
#undef main

int main(int argc, char *argv[]) {

}

最后

如有建议或发现错误欢迎指出!

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值