You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Meson构建GuiTutorial失败:VS2019下WinMain链接错误

解决SDL程序链接时LNK2019找不到WinMain的问题

错误原因

链接命令中指定了/SUBSYSTEM:WINDOWS,MSVC编译器会期望程序入口为WinMain,但SDL程序默认使用标准main函数作为入口。静态链接SDL2时,若未正确处理入口函数映射,就会触发该错误。

解决方案

方案1:修改源码显式跳过SDL的入口处理

在你的SDL源码文件(如sdlprog.c)最顶部添加以下定义,告诉SDL不要自动替换入口函数:

#define SDL_MAIN_HANDLED
#include <SDL2/SDL.h>

方案2:在Meson构建文件中链接SDL2main组件

编辑项目根目录的meson.build,确保同时链接SDL2的main依赖组件:

# 查找SDL2依赖
sdl_dep = dependency('SDL2')
# 显式查找SDL2main依赖
sdl_main_dep = dependency('SDL2_main')

# 编译可执行文件时同时传入两个依赖
executable(
  'sdlprog',
  'sdlprog.c',
  dependencies : [sdl_dep, sdl_main_dep]
)

修改后,重新执行构建命令:

meson compile -C builddir

内容的提问来源于stack exchange,提问作者user2960174

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 10:05:11