关于CodeBlocks中stdc++-6.dll缺失的小问题
2015-12-12 15:32
375 查看
前一阵子在用CodeBlocks刷OJ(也并不是什么很难的算法,背包问题而已)时,遇到了个小麻烦,按下F9编译运行(有的人习惯用鼠标去点那个小button,多麻烦啊)后,Windows给我跳出个小窗说是stdc++-6.dll缺失,意思是让我修复一下这个文件。
这个文件不难找,随便搜一下就能下到。但问题是下完了放哪?看了看网上的建议,貌似应该放到C盘的system32里面。
我按照这个来了,尝试编译运行,发现又跳出来所谓”libgcc_s_sjlj-1.dll“这个东西缺失,想要的控制台程序还是没有。
在网上到处搜了搜,最终明白这是个动态链接库的问题。
C++文件的编译运行有两种链接方式,动态链接和静态链接,其具体分析和区别可以参考这篇博客。
这里只讨论解决这个问题的简单方案。如果codeblocks版本是10.12以上,且编译器为MinGW,那么可以按照如下步骤解决这个小小的问题:
方案A:将链接方式设置为静态链接,打开codeblocks,settings -> compiler -> global compiler settings ->(保险起见,可以先重置编译器,即reset defaults) -> linker settings -> other linker options ,在空白栏中加入“-static”指令。效果如图:
方案B:修复动态链接库,这些dll文件一般存放在C:\Program Files (x86)\CodeBlocks\MinGW\bin 中,可以将别人的没出错的dll全部拷贝过来,也可在网络下载。重启电脑,打开codeblocks即可。
当然两个方案一起用,鲁棒性更强。
如果codeblocks版本不同,编译器也不同,也可仿照以上方法一试,不过不保证有效。为了避免dll问题,以及确保编程时的好心情,建议在使用IDE的时候关闭杀毒软件(无论是国产的还是国外的)和XX管家之类的程序,这些有时候会误报你自己写的小程序,并且有可能影响到dll文件。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 如何重装TCP/IP协议
- 关于指针的一些事情
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- FREEBASIC 编译可被python调用的dll函数示例
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- c++ primer 第五版 笔记前言
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- share_ptr的几个注意点
- 微软镜像下载
- windows server域用户提升到本地更高权限组中的方法