posts - 13,  comments - 16,  trackbacks - 0
 针对现象
1, 运行程序提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”
2, 程序启动即发生异常,或者没反应。(具体现象跟系统设置有关)
3, 客户端发布必须连带msvcr80.dll,mfc80.dll等dll和manifest文件才能正常运行

 问题定位
  出现上述现象之后可以确定是缺少程序运行所需的环境,可以通过安装相应的vcredist_x86.exe来验证。针对vs版本,分别有
32位的(X86),也有64位的(X64),请注意区别下载。
★Microsoft Visual C++ 2005 Redistributable Package下载地址:
(x86):http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=zh-cn
(x64):http://www.microsoft.com/downloads/details.aspx?familyid=90548130-4468-4BBC-9673-D6ACABD5D13B&displaylang=zh-cn
★Microsoft Visual C++ 2008 Redistributable Package的下载地址:
(x86):http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5582
★Microsoft Visual C++ 2010 Redistributable Package
(x86):http://www.microsoft.com/download/en/details.aspx?id=5555?
(x64):http://www.microsoft.com/download/en/details.aspx?id=14632?
如果安装完之后可以正常运行程序,可以继续往下看,如果还不行,请考虑其它原因。


 解决办法
  如果可以接受,让用户自行下载VC运行库也是一种办法。
  其次,可以把程序所需的dll一并发布。
  如果不想带很多文件一起发布,可以使用静态链接发布程序。
  
  静态链接MFC和ATL库的方法是:
  Alt+F7打开Project Property,展开:
  Configuration Properties
  General
  Use of MFC
  Use of ATL
  然后改成Static Library即可.如果已经是“在静态库中使用 MFC”了,生成之后在目标机器还是会有现象1的提示,那么很有可能就是没有静态链接C,C++运行库,
  msvcr是C运行库,msvcp是C++运行库。如果你使用了STL之类C++的东西,msvcp就是必须的。修改方法如下:
  静态链接MSVCR和MSVCP的办法是:
  Alt+F7打开Project Property,展开:
  Configuration Properties
  C/C++
  Code Generation
  Runtime Library
  然后将选项由/MD改为 "Multi-threaded (/MT)"
*再如果。。。。。按照上面操作完成之后程序依然有问题,请考虑:程序有没有静态连接其它的lib,而这些lib是不是也是同样静态连接的C,C++运行库,如果连接的lib还依赖和其它的lib,那么被依赖的lib是不是同样静态链接了C,C++运行库.*


举例说明
   一个利用libtorrent库开发的下载测试程序(以下简称为例子)为win32项目,没有使用mfc,在纯净版系统上运行需要msvcr和msvcp的支持。例子编译依赖libtorrent.lib,而libtorrent.lib又深度依赖boost库,确保例子静态编译,不再依赖msvcr和msvcp的支持就必须在编译libtorrent.lib和boost库的时候明确静态链接c,c++运行库。经过实际测试,例子程序已经实现单独在纯净系统上的运行。
 
参考资料:
http://wylht.blogspot.com/2012_03_01_archive.html (需fan墙访问)
http://gamebabyrocksun.blog.163.com/blog/static/57153463201081101856593/
http://www.cnblogs.com/dementia/archive/2009/04/10/1433217.html
posted on 2013-09-09 08:48 似水之心 阅读(4385) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(2)

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜