解决vs2008建立vc控制台应用程序时,出现“没有找到msvcr90d.dll”的错误,并且闪一下就没了的情况
在使用Visual Studio 2008 (VS2008) 开发VC++控制台应用程序时,有时会遇到一个常见的问题:程序运行时提示“没有找到msvcr90d.dll”的错误,而且应用程序窗口会瞬间关闭,即“闪一下就没了”。这个错误通常与动态链接库(DLL)的缺失有关,特别是MSVCR90D.dll,它是Visual C++ 2008运行时库的动态调试版本。 我们要理解msvcr90d.dll的作用。它是Microsoft Visual C++ 2008 SP1 Redistributable Package的一部分,用于支持运行使用C++编译器生成的程序,尤其是那些依赖于VC++运行时库的程序。在开发过程中,如果你的系统上没有安装这个库,或者安装不完整,就会遇到上述错误。 为了解决这个问题,我们可以按照以下步骤进行操作: 1. **检查系统环境**:确保你的计算机上已经安装了Visual C++ 2008 SP1 Redistributable Package。如果未安装,可以到微软官方网站下载并安装。 2. **重新注册DLL**:使用命令行工具(cmd.exe),以管理员身份运行,然后输入`regsvr32 msvcr90d.dll`。注意,这个dll文件通常位于你的Visual Studio安装目录下的`VC\redist\x86\Microsoft.VC90.DebugCRT`路径中。如果找不到,可能需要从其他安装了VS2008的电脑上复制过来或重新安装VS2008。 3. **项目设置**:在VS2008中,打开你的工程,进入“项目属性” -> “配置属性” -> “连接器” -> “系统”选项卡,检查“子系统”设置是否为“控制台(/SUBSYSTEM:CONSOLE)”而不是“Windows(/SUBSYSTEM:WINDOWS)”。控制台应用程序需要此设置才能显示控制台窗口。 4. **附加依赖项**:在“项目属性” -> “配置属性” -> “连接器” -> “输入”选项卡下,确认“附加依赖项”中包含了必要的运行时库,如msvcr90d.lib。如果缺少,需要手动添加。 5. **静态链接**:考虑将你的项目设置为静态链接到VC++运行时库,这样就不需要在目标机器上单独安装运行时库。在“项目属性” -> “配置属性” -> “连接器” -> “常规”选项卡中,将“使用运行时库”设置为“多线程调试 (/MTd)”或“多线程 (/MT)”。 6. **检查程序代码**:确认你的代码没有立即退出,例如误删了`int main()`函数的`return 0;`或存在其他导致程序异常退出的代码。 7. **使用Demo**:提供的"vs2008bug的解决的方案"压缩包可能包含一个修复示例。解压并研究这个Demo,看看它是如何避免或解决这个问题的,可以学习其配置和代码结构。 通过以上步骤,大多数情况下都能解决“没有找到msvcr90d.dll”的问题。如果问题依然存在,可能需要进一步检查系统环境、防火墙设置,甚至考虑是否存在其他软件冲突。记住,保持良好的编程习惯和系统维护是避免这类问题的关键。
- 1
- yeyuningzi2012-10-20不知道是怎么回事,反正我的是没有解决
- wzl19890012016-01-14解决了,。。。谢谢
- LionLee2014-04-21重新复制一个dll过来就可以了
- _黎明之前2013-08-19解决了,。。。谢谢
- 粉丝: 9
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助