博文

vs兼容问题心得(2007-11-15 17:37:00)

摘要:这两天有点焦头烂额,   我们这边运行的好好的程序,   到了测试的机器上就不能启动(是根本运行不了,   而不是运行出错),   弄得我异常郁闷。   经过了一番摸索,   发现和   winxp、win2003中为解决dll   hell而引入的manifest机制有关系。而以前我们用vs2003开发,   它并没有强制程序使用manifest,   但到了vs2005中,   这已经改成必需的了,   而我们并没有按照需要进行相关的配置,   所以程序启动不了了。   根据目前的经验,   vs2005编译的程序不能启动大致有两个原因,   下面简单介绍解决办法。
1、在开发组的机器上(安装有vs2005)有时都不能启动
这一般是项目的文件被放在了fat/fat32分区上导致的,   解决方法是把它们都移动到ntfs分区上,   或者把“项目属性 ¦Manifest   Tool ¦General ¦Use   FAT32   Work-around”设为yes。
2、开发组运行正常,   换到其它机器上就不行了
这一般就是系统dll(包括crt,mfc,atl等)没有正确配置导致的。   如果程序是release版,   那么很简单,   只要把“\SDK\v2。0\BootStrapper\Packages\vcredist_x86”下的 "vcredist_x86。exe "拷贝到目标机器上运行即可,   这是以x86平台为例的,   如果你用的是别的cpu平台(amd64或ia64)把x86替换成相应的内容就可以了。
如果是debug版,   就复杂一些了,   首先要确定你需要的dll的版本,   绝大多数(注意:不是 "所有 ")情况下它和编译器的版本相同,   通过vs2005的关于对话框就能看到,   如下图所示:


  确定版......

阅读全文(2504) | 评论:0

初学mfc感悟(2007-10-27 22:39:00)

摘要:好久不来了,最近忙于mfc的学习,现在学到链接数据库的部分,感觉很有意思啊,遇到很多问题,我在插入了记录后,再显示全部记录,但没有我插的记录,我已经用updata了,但再重新编译运行一次,显示记录时就有了,郁闷死了,查了好多书都没有解决,百度了半天,google了半天也没结果,谁能帮忙,告诉我,该怎么办。。。......

阅读全文(2751) | 评论:0