博文
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的关于对话框就能看到, 如下图所示:
确定版......
初学mfc感悟(2007-10-27 22:39:00)
摘要:好久不来了,最近忙于mfc的学习,现在学到链接数据库的部分,感觉很有意思啊,遇到很多问题,我在插入了记录后,再显示全部记录,但没有我插的记录,我已经用updata了,但再重新编译运行一次,显示记录时就有了,郁闷死了,查了好多书都没有解决,百度了半天,google了半天也没结果,谁能帮忙,告诉我,该怎么办。。。......