visual studio2005 debug和release的结果不一样

debug和release的结果不一样如果用debug的话怎么让别台没有装vs2005的用听说可以通过关掉优化选项实现这个怎么弄?如果直接F5生成的release结果是对... debug和release的结果不一样
如果用debug的话 怎么让别台没有装vs2005的用
听说可以通过关掉优化选项实现 这个怎么弄?
如果直接F5生成的release 结果是对的 但是我关掉以后从文件夹打开 结果又不对了 这是为什么?
展开
 我来答
conanwj1980
2009-09-09 · TA获得超过438个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:79.4万
展开全部
“直接F5生成的release 结果是对的 但是我关掉以后从文件夹打开,结果又不对了 ”
这主要是你的应用程序运行过程需要加载一系列的动态链接库(DLL),在VS环境中,已经设置了一些搜索路径,所以调试时可以找到他们。而你在文件夹双击的时候,如果程序需要某DLL,就会在当前目录、系统目录查找,如果都找不到的话,自然无法运行了^_^

通常有2类解决方法:
一、 动态链接MFC库,将DLL一同发布出去
1.1 手工方法
通过VS的命令提示符环境中的dumpbin.exe查看你的主输出文件(××.exe)运行依赖于哪些DLL,手工把他们找出来,和你的exe放在同一个目录下,转移到其他机器的时候整个目录拷贝过去。
1.2 使用安装工具
最便捷的就是VS内置的发布工具了。
在VS中“新建项目”-“其他项目类型”-“安装和部署”-“安装向导”,按照提示设置一下。当你选取需要发布的应用程序项目时,一旦找到其“主输出”(对应××.exe)码数,向导会自动搜索出依赖的DLL。
编译这个“安装项目”后,生成了*.msi文件,以后直接运行它就可以进行安装(好像MS Office等专业软件一样^_^)。

二、静态链接MFC库
在解决方案管理器窗口,右击项目名,选“属性”。在“项目默认值”中,找到“MFC的使用”,选“在静态库中使用MFC”。这样就可以把依赖的那些DLL中,需要的函数都静态链脊槐接到exe中。最终只要一个exe就可以运行了。
不过这样静态链接的exe体积会臃肿迟野首很多,^_^
江小右
2009-09-05 · TA获得超过6928个赞
知道小有建树答主
回答量:1195
采纳率:0%
帮助的人:829万
展开全部
release版会对程序进行优化,所以有的时候代码写的不严谨的话会有不同,比模改方说在release版本可以运行备码仿,debug不可以运行。给别人用当然要用release了,直接发仿纤布就可以产生release版本
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5ed5ed2
2009-09-05 · TA获得超过569个赞
知道小有建树答主
回答量:327
采纳率:0%
帮助的人:413万
展开全部
静态枯梁联编,
1.project->隐败冲灶歼properties
2.General->Use Of MFC->选择USE MFC IN A STATIC LIBRARY
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式