概述
“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”。百度了一下,发觉很多人都有这个问题,有网友还提到“原来用VC6和VS2003的话,是会提示缺少“*.dll”,但是用VS2005却没有这样的提示”。
对于这个问题,综合网上的几种解决方法,现总结如下:
方法一:
在C:Program FilesMicrosoft Visual Studio 8VCredistDebug_NonRedistx86Microsoft.VC80.DebugCRT 下找到了下列文件:
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest
把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。其他release版,MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识!
这个方法经我的实践是没用的,估计是MFC的项目才有用。
方法二:
修改编译选项。原来,在VS2005里面编译的程序默认的配置是“多线程DLL”,其实也就是动态链接运行库的DLL,文件小,但需要客户机安装运行库。还有一个选项是“多线程”,这个选项就是静态链接运行库,文件大,优点是不需客户机安装运行库。
解决方式就是将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。
这种方法较通用,但生成的文件会比较大,所以对小程序比较适合。
方法三:
设定MFC的静态编译。
打开工程属性,配置属性->常规->MFC的使用,选择“在静态库中使用mfc”。
这个方法仅适合调用MFC的程序,像我这样直接调用Windows Api的Win32项目用这种方法是不行的。
方法四:
客户机上安装vc运行库分法包,文件名为vcredist_x86.exe,或者到C:Program FilesMicrosoft Visual Studio 8SDKv2.0BootStrapperPackagesvcredist_x86里面的文件。
最后
以上就是动人方盒为你收集整理的VS2005编译的C++项目在没有安装VS2005的机器上无法运行的全部内容,希望文章能够帮你解决VS2005编译的C++项目在没有安装VS2005的机器上无法运行所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复