visual studio2005 debug和release的结果不一样
debug和release的结果不一样如果用debug的话怎么让别台没有装vs2005的用听说可以通过关掉优化选项实现这个怎么弄?如果直接F5生成的release结果是对...
debug和release的结果不一样
如果用debug的话 怎么让别台没有装vs2005的用
听说可以通过关掉优化选项实现 这个怎么弄?
如果直接F5生成的release 结果是对的 但是我关掉以后从文件夹打开 结果又不对了 这是为什么? 展开
如果用debug的话 怎么让别台没有装vs2005的用
听说可以通过关掉优化选项实现 这个怎么弄?
如果直接F5生成的release 结果是对的 但是我关掉以后从文件夹打开 结果又不对了 这是为什么? 展开
3个回答
展开全部
“直接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体积会臃肿迟野首很多,^_^
这主要是你的应用程序运行过程需要加载一系列的动态链接库(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体积会臃肿迟野首很多,^_^
展开全部
release版会对程序进行优化,所以有的时候代码写的不严谨的话会有不同,比模改方说在release版本可以运行备码仿,debug不可以运行。给别人用当然要用release了,直接发仿纤布就可以产生release版本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态枯梁联编,
1.project->隐败冲灶歼properties
2.General->Use Of MFC->选择USE MFC IN A STATIC LIBRARY
1.project->隐败冲灶歼properties
2.General->Use Of MFC->选择USE MFC IN A STATIC LIBRARY
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询