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

Windows下SDL2程序无法启动:runnerw.exe报CreateProcess错误193

解决SDL2程序运行时runnerw.exe: CreateProcess failed with error 193问题

问题原因分析

Windows错误193(%1 不是有效的 Win32 应用程序)通常是由于程序架构与依赖库架构不匹配,或是链接配置错误导致生成的可执行文件无效。结合你的MINGW64 + SDL2 MinGW开发包环境,核心问题大概率是SDL库路径指向错误或CMake链接配置不当。

具体解决步骤

1. 修正SDL库路径

你下载的SDL2-devel-2.24.0-mingw.zip解压后包含mingw32(32位)和mingw64(64位)两个子目录,对应不同架构的MINGW环境。由于你使用的是MINGW64,需要将CMAKE_PREFIX_PATH指向64位库目录:

list(APPEND CMAKE_PREFIX_PATH "D:/lib/SDL2-2.24.0/mingw64")

若指向根目录D:/lib/SDL2-2.24.0,CMake可能误选32位库,导致生成的64位程序与32位库不兼容,触发错误193。

2. 优化CMake链接配置

使用find_package(sdl2 CONFIG)后,SDL会提供标准化的导入目标,无需手动拼接库名变量。修改target_link_libraries部分:

# 替换原有的target_link_libraries行
target_link_libraries(sdl_test SDL2::SDL2-static SDL2::SDL2main)

这种方式能确保正确链接静态库和主入口库,避免手动拼接${SDL2_LIBRARIES}-static可能出现的变量展开错误。

3. 验证CLion工具链配置

确认CLion的工具链已正确配置为MINGW64:

  • 打开File > Settings > Build, Execution, Deployment > Toolchains
  • 确保选中的MINGW工具链路径指向64位版本(如C:/msys64/mingw64或你安装的MINGW64目录)
  • 重新加载CMake项目(点击CLion右上角的Reload CMake Project按钮)

4. 验证可执行文件架构

编译完成后,在MINGW64终端中进入生成的exe目录,执行以下命令查看程序架构:

file sdl_test.exe

若输出包含PE32+ executable (console) x86-64,说明是64位程序,与MINGW64和SDL64位库匹配;若显示PE32 executable,则说明是32位程序,需检查工具链和SDL库路径是否正确。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:01:13