无法找到 secchk.lib ,移植 evc 到 2005

来源:互联网 发布:查询自己电脑端口 编辑:程序博客网 时间:2024/05/02 04:33

因为基于CE4.2 (WM2003)系统里没有安全函数,而VS2005默认/GS编译先项
是打开的,主要是为了防止代码缓冲区益出,提高安全性。
所以,方法1:
打开VS2005->项目属性->c/c++->代码产生->Buffer Security Check ->NO/(GS)
然后编译,即关闭缓冲保护,可以顺利在VS2005中编译先前的EVC代码.
所以我们要在VS2005中编译先前的EVC代码,可以用这种方法。但不推荐
,请用下面方法。

方法2:打开VS2005->项目属性->链接器->命令行->加入secchk.lib
然后编译,成功。
填加secchk.lib,就是为了在基于CE4.2 (WM2003)系统里填加了安全函数
不必关闭VS2005的/GS编译选项。虽然生成代码多了1K,但这也是值得的。
因为secchk.lib提高安全性,有效防止缓冲区益出。推荐用此方法在VS2005
编译基于CE4.2 (WM2003)的EVC代码。

在msdn完整的说法是,建议在迁移evc的project时,
 Ignore Specific Library(忽略特定库) 加上 oldnames.lib
AdditionalDependencies(附加依赖项)加上 commctrl.lib coredll.lib aygshell.lib

secchk.lib ccrtrtti.lib

正解哦~ ^_^