Code::Blocks生成的控制台exe在Windows 11命令行无输出如何解决?
解决步骤
- 第一步:先确认程序退出状态
在PowerShell中依次执行以下命令:
根据输出的退出码选择对应解决方法:cd C:\Users\user1\Desktop\hello\bin\Debug .\hello.exe echo $LASTEXITCODE- 退出码为非0值:运行时依赖缺失
Code::Blocks运行程序时会自动加载自带MinGW环境的路径,因此可以正常找到运行时依赖,外部终端没有对应路径,且Win11默认关闭了控制台程序的DLL缺失弹窗,因此表现为无输出直接退出。
可选解决方法:- 将Code::Blocks安装目录下的
MinGW/bin路径添加到系统环境变量PATH,重启终端后重新运行exe即可 - 拷贝
MinGW/bin目录下的libstdc++-6.dll、libgcc_s_seh-1.dll(32位MinGW对应libgcc_s_dw2-1.dll)、libwinpthread-1.dll到exe同级目录,直接运行即可 - 如需生成无依赖的exe,可在项目链接参数中添加
-static-libgcc -static-libstdc++ -static,重新编译后生成的程序可直接在任意Windows环境运行
- 将Code::Blocks安装目录下的
- 退出码为0:子系统配置错误
编译目标被设置为Windows子系统而非控制台子系统,这类程序默认不会将标准输出绑定到当前控制台,因此无输出。
解决方法:打开Code::Blocks项目,进入「项目->属性->构建目标」页面,选中当前使用的Debug构建目标,将「类型」修改为「控制台应用程序」,重新编译后即可在终端正常输出内容。
- 退出码为非0值:运行时依赖缺失
内容的提问来源于stack exchange,提问作者pico
相关产品推荐
相关产品推荐

