用vs2012写了个小程序,但是在别人的电脑上运行,显示需要MSVCR100D.dll

如题,请教各位大神,这种情况是什么原因,是我用vs2012写的任何程序在别人电脑上跑
都会需要这个,还是我的程序里用了这个dll文件里的某个函数之类的?
请问有什么解决办法吗。。。除了让对方安装这个dll文件
谢谢~

3个回答

MSVCR100D.dll是msvcr100.dll的调试版本(Debug Version)。

用于发布的程序不能使用调试版本的dll。

如何发布程序,微软有详细文档。

制作安装文件

参照此文档完成后程序即可在没有vc库的电脑上运行。

缺少vs的运行库。因为你的电脑安装了vs2012,自然是不缺少这个库了。但别人的电脑里很可能没有,所以还需要再从网上下载一个vs运行库安装到目标电脑上。随便百度一下就有很多地方能下载到。希望能帮到你。

在网上搜索了一下静态编译的帖子,再通过自己实践总结如下。
vs2010 Release模式动态编译 win32控制台程序。编译好的程序在其他电脑上运行,报缺少"msvcr100.dll"和"msvcp100.dll"文件。解决方法:
第一步:项目-> 项目属性->配置属性->常规->MFC 的使用:在静态库中使用 MFC。
第二步:项目-> 项目属性->配置属性->C/C++->代码生成->运行库:多线程 (/MT)。
第三步:项目-> 项目属性->配置属性->链接器->命令行->其他选项(D),在输入框中添加如下内容:
**kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib"
shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib"

这些是静态编译时目标程序中用到的静态库文件名。这样一来目标程序就不需要调用“.dll”中的动态库函数了。也就不会报缺少某某“.dll”文件了。这样编译出的目标程序会比动态编译的大几倍。搞清楚你的C++程序需要用到哪些静态库文件,然后按照上面的样子添加到“项目-> 项目属性->配置属性->链接器->命令行->其他选项(D)”中。不知道用哪些静态库文件?上网搜搜你的C++程序里的函数包含在哪些静态库文件里。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

2
请问MFC中如何实现资源文件打包到程序,在非本机上加载资源文件运行
3
windows server2008R2 打开程序报错0xc000007b如何解决?
4
新手:用vs2012的控制台应用程序做了一个功能,能不能在没有安装vs2012开发工具的电脑上运行?
1
在cmd.exe中运行一个程序,程序打印信息后,如何显示C:\user\XXX
1
在虚拟机中用turbo c2.0中编译的程序怎么在别的电脑上运行
1
微信小程序在安卓上不显示数据
2
C# winform 程序 换机运行 显示问题
1
c++的systemc的程序在vs2010的debug模式可以运行,但是.exe文件运行不了
1
想用VS写一个记事本程序,但是读取大文档未响应
4
黑马作业题,实现一个验证程序运行次数的小程序java
9
程序运行真的分电脑吗?
3
vs2015下,创建一个项目,怎样实现多个小程序的运行,每个小程序都有main函数?
1
关于基础C程序添加任务计划运行后窗口不显示问题
4
程序在服务器上运行时弹窗:出现了一个问题,导致程序停止正常工作,请关闭该程序
6
程序中一个html页面在自己电脑上运行没问题,但在服务器上弹窗提示错误
1
python写的爬虫怎么放在微信小程序的环境下运行(或者说怎么在微信小程序写爬虫)?
43
vs编程,程序可以生成但是不能运行
3
mfc程序在其他电脑平台的运行提示 丢失mfc140.dll
1
vs2012如何在不允许程序的情况下查看窗体的设计情况