首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

找不到MSVCR100.dll

编写的exe在别的机器上运行的时候总是报错 "找不到MSVCR100.dll 请重新安装",编译的机器上又不会报,这是怎么回事啊?是不是因为编译的机器上有特殊的配置?
有时也有找不到MSVCR80.dll的问题
这些是不是都和编译器有关,是不是可以调整相关的配置,希望各位指点一二
昵称: linxi1987  时间: 2010-08-16 12:11:08
不是很懂啊。帮顶把。
昵称: zhangzhongke007  时间: 2010-08-16 12:47:26
/MT
昵称: cblcz  时间: 2010-08-16 12:56:05
这是VC编译器编译出来后要带的dll

设置为静态
昵称: cblcz  时间: 2010-08-16 12:56:37
安装vcredist_x86.exe
昵称: fengxuxing  时间: 2010-08-16 12:57:30
在cmd窗口中用
depends /p exefile
查看exefile依赖的dll并将除操作系统内核(比如kernel32.dll,user32.dll,ntdll.dll,gdi32.dll,advapi32.dll)外的dll拷贝到exefile所在目录
昵称: zhao4zhong1  时间: 2010-08-16 13:00:05
怎么设置成静态?设置成静态后,在别的机器上运行exe就不会有问题了吗?
引用 3 楼 cblcz 的回复:

这是VC编译器编译出来后要带的dll

设置为静态
昵称: linxi1987  时间: 2010-08-16 15:46:29
可以解释下这个有什么用吗?
引用 4 楼 fengxuxing 的回复:

安装vcredist_x86.exe
昵称: linxi1987  时间: 2010-08-16 15:46:50
干吗用?
引用 2 楼 cblcz 的回复:

/MT
昵称: linxi1987  时间: 2010-08-16 15:47:10
你使用VS2008执行的吗?
昵称: wahajstu  时间: 2010-08-16 16:02:57
vs2010
引用 9 楼 wahajstu 的回复:

你使用VS2008执行的吗?
昵称: linxi1987  时间: 2010-08-16 16:42:14
引用 8 楼 linxi1987 的回复:

干吗用?
引用 2 楼 cblcz 的回复:

/MT


项目-属性-配置属性-C/C++-代码生成-运行库
昵称: cblcz  时间: 2010-08-16 16:43:53
引用 7 楼 linxi1987 的回复:

可以解释下这个有什么用吗?引用 4 楼 fengxuxing 的回复:

安装vcredist_x86.exe


这个是运行时库
昵称: cblcz  时间: 2010-08-16 16:44:33
MT的问题我搞清楚了,就是静态方式调用MSVCR100,对吧?
但是exe肯定是要在其他机器上运行的,难道还要在每一个机器上都运行vsredist_x86这是不实际的,有没什么办法可以静态的包括运行时库,编译选项中有没有?
引用 12 楼 cblcz 的回复:

引用 7 楼 linxi1987 的回复:

可以解释下这个有什么用吗?引用 4 楼 fengxuxing 的回复:

安装vcredist_x86.exe


这个是运行时库
昵称: linxi1987  时间: 2010-08-16 16:58:22
没用/MT,写了个hello world,用depend查看有MSVCR*D.DLL

用/MT,查看就没有了
昵称: cblcz  时间: 2010-08-16 17:08:31