2023年12月7日发(作者:)
关于CodeBlocks无法运行exe文件的原因与解决方法
双击在Codeblocks上生成的exe文件时有时会出现无法运行的错误(0xc000007b)
直入主题,出现这种情况的原因很可能是头文件中包含了iostream。
我们以最简单的helloworld程序为例,当头文件使用的是stdio.h时(),程序在codeblocks上能运行,双击生成的exe文件也没出
现问题。
但若将stdio.h改为iostream(),虽然在codeblocks上能正常运行,但exe文件无法打开
出现这种报错的原因是dll依赖项无法找到,于是我使用了VS的dumpbin工具查看了exe文件的依赖项。
可以看到test2要比test1多一个叫做libstdc++-的依赖项,进一步解决方法可参考。
由于学校的作业要求上传可执行的exe文件,在一开始遇见这个错误时,我一直以为是我引入第三方库dll时出现问题(电脑并没有直接告诉
我是哪个dll寻找失败),搜索很多资料仍未解决,尝试几天后最终才发现真正的问题出在iostream上。
最后,如果是和我一样要用codeblocks上传大作业的同学,推荐大家引用stdio.h,放弃iostream,这样可以省去很多配置上的麻烦。
如果改成stdio.h依然出现0xc000007b的错误,再去看看是不是第三方库的dll没有放入。


发布评论