VS2005编译的C++项目在没有安装VS2005的机器上无法运行
2014-01-17 11:21
453 查看
最经在研究C语言调用Windows Api写Win32程序,编译器是VS2005(项目是C++ -> Win32),发现在一台未安装VS2005的机子上双击运行,会提示:
“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”。百度了一下,发觉很多人都有这个问题,有网友还提到“原来用VC6和VS2003的话,是会提示缺少“*.dll”,但是用VS2005却没有这样的提示”。
对于这个问题,综合网上的几种解决方法,现总结如下:
方法一:
在C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.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 Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86里面的文件。
“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”。百度了一下,发觉很多人都有这个问题,有网友还提到“原来用VC6和VS2003的话,是会提示缺少“*.dll”,但是用VS2005却没有这样的提示”。
对于这个问题,综合网上的几种解决方法,现总结如下:
方法一:
在C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.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 Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86里面的文件。
相关文章推荐
- VS2005编译的C++项目在没有安装VS2005的机器上无法运行
- VS2005编译的程序在没有装VS2005的机器上无法运行的解决办法
- 在未安装VS2005的机器上运行VS2005编译的C++程序(转)
- 在未安装VS2005的机器上运行VS2005编译的C++程序
- 在未安装VS2005的机器上运行VS2005编译的C++程序
- 解决VS2005编译的MFC在没有安装VS2005的机器上不能运行的问题
- VS2003试图运行项目时出错:无法启动调试 没有正确安装调试器
- 转:试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器
- 编译好的Exe程序拷到没有安装BCB的机器上运行会提示找不到xx库之类的,解决方法:
- 常见问题:试图运行项目时出错:无法启动调试 没有正确安装调试器。请运行安装程序安装或修复调试器
- 试图运行项目时出错:无法启动调试 没有正确安装调试器
- VS2003 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器。
- 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器 。
- 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器
- VS2003试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器
- 运行未安装VS2005的机器上C++程序
- VS2003 2005 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器。
- 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器
- VS2003 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器。
- 编译好的QT程序在其他没有安装QT的机器上会出现图标和图片无法正常显示的问题。