vs2010编的C语言程序,生成了可执行文件,可是为什么在其他电脑上却不能打开。提示是找不到MVCR.dll......

我换了代码一样,在C++上编译,之后在其他电脑上能成功打开的。什么原因??... 我换了代码一样,在C++上编译,之后在其他电脑上能成功打开的。什么原因?? 展开
 我来答
Frank7258
2011-03-27 · TA获得超过1503个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:546万
展开全部
所有Visual Studio编译的程序,只要你用到了C Runtime库的函数,比如printf等最基本的标准函数,就会链接MSVCRxx.dll,里面的xx是你编译的Visual Studio的版本号。现在的问题就是你用的VS2010,很多计算机上没有这个DLL,即使你编译成Release版本(Debug版本需要更多的库支持),依然会出现运行不了的情况。解决办法是你可以静态链接这些库,这样就不需要DLL支持,或者你让目标计算机安装Visual Studio 2010 Redistribute Package,这个包包含了VS2010编译出来的程序需要的库。
Redistribute Package的下载:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

简短描述
Microsoft Visual C++ 2010 Redistributable Package 安装 Visual C++ 库的运行时组件,使用户能够在未安装 Visual C++ 2010 的计算机上运行使用 Visual C++ 开发的应用程序。

参考资料: http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

百度网友d57e73d
2011-03-27 · TA获得超过989个赞
知道小有建树答主
回答量:1043
采纳率:0%
帮助的人:851万
展开全部
两种情况,一是你使用的debug编译环境,而不是release编译环境,

再就是你的程序可能是在NTFS分区下保存编译的,移动到fat32分区后可能会出现这个问题。那么就要在项目属性-->配置属性-->清单工具-->使用FAT32解决方法 这里调成是。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BiG蛇_
2011-03-27 · 超过27用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:68.2万
展开全部
你那是“调试版(debug)”的,不是发行版,所以在其他电脑上运行需要运行环境,说缺少什么dll文件,就是没运行环境,要是别人电脑也装上了VS,那就已经有运行环境,所以野可以打开运行
追问
不是发行版??????怎么解决???我是在官网下的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hernak2011
2011-03-27 · 超过40用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:110万
展开全部
原因是VS2010向.net战略更加推进了一步,这个开发平台需要.net framework环境支持。你可以使用VC编译就行了。或者在目标电脑上安装.net framework 较新的版本。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人生自认真9262
2011-03-27 · TA获得超过257个赞
知道小有建树答主
回答量:792
采纳率:100%
帮助的人:388万
展开全部
你认为最新版本的东西能在老版本上面运行吗?
就像你的代码一样,版本不一样,你代码能一样吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式