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

CodeBlocks调试含SDL2的程序时出现Error 193问题求助

解决CodeBlocks调试SDL2程序时的Error 193问题

以下是针对该问题的排查和解决方向,都是实际调试SDL2时踩过的坑:

1. 核对SDL2.dll的位数与编译器版本

Error 193最常见的原因是位数不匹配:比如用32位MinGW编译程序,却复制了64位的SDL2.dll,反之亦然。

  • 打开CodeBlocks的设置 -> 编译器,确认使用的是MinGW32还是MinGW64;
  • 去SDL官网重新下载对应位数的开发包,替换bin/debug目录里的SDL2.dll。

2. 确认调试目标的路径配置

有时候CodeBlocks的调试路径会出错,哪怕编译生成的exe在正确位置:

  • 右键项目 -> 属性 -> 构建目标 -> 调试标签;
  • 检查可执行文件的路径是否准确指向bin/debug/你的程序.exe,路径里不要有中文、空格这类特殊字符,有条件的话把整个项目移到无特殊字符的路径下(比如D:\Projects\SDLTest)。

3. 检查编译器与调试器的一致性

调试器和编译器必须同位数、同版本:

  • 打开设置 -> 编译器 -> 调试器;
  • 确认调试器路径对应MinGW下的gdb.exe(比如32位MinGW的gdb在mingw32\bin\gdb.exe,64位在mingw64\bin\gdb.exe),如果选错就修正路径。

4. 清理缓存后重建项目

旧的编译缓存可能导致调试异常:

  • 手动删除项目目录下的bin/debug和obj/debug文件夹;
  • 回到CodeBlocks,点击构建 -> 重建项目,完成后再尝试启动调试。

5. 复查SDL库的链接配置

虽然编译正常,但调试可能因为链接设置的隐性问题:

  • 右键项目 -> 构建选项 -> 链接器设置;
  • 确认其他链接器选项里加了-lSDL2,搜索目录里的库路径指向正确的SDL2/lib文件夹(比如D:\SDL2\lib\x86对应32位)。

额外检查点

  • 查看构建日志:如果链接阶段没有报错,说明库的路径和链接参数没问题;如果有警告,注意是否是SDL库版本不兼容;
  • 示例代码里确保初始化SDL的代码存在(比如SDL_Init(SDL_INIT_VIDEO);),不过这个通常不影响进程创建,但可以排除其他潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:45:35