如何解决WinCE 6 ARM V4编译时U1073错误:无法生成certmod.lib
我帮你梳理几个针对性的排查和修复步骤,这个错误核心是编译系统找不到certmod.lib依赖库,大概率是组件生成不完整或者ARMv4I的配置有遗漏:
重新生成公共组件库
先关闭Platform Builder,打开WinCE专属的Build Environment命令提示符,切换到C:\WINCE600\public\common目录,依次执行以下命令:build -c build执行时留意certmod相关的编译输出,确保没有报错,最终能在
C:\WINCE600\public\common\oak\lib\ARMV4I\retail目录下生成certmod.lib。检查CESYSGEN组件配置
打开你的OS设计,进入Catalog Items View,搜索Certificate Services Support相关组件,务必确认SYSGEN_CERTMOD已被勾选。有时候安装ARMv4更新包后,组件配置会被意外重置,这一步很容易被忽略。手动触发CESYSGEN重新生成
如果目录里还是没有certmod.lib,手动运行组件生成命令:- 在Build Environment中切换到你的OS设计的cesysgen目录(比如
C:\Novus\dev01\OS\WinCE_6.0\OSDesigns\AtlasXL\Wince600\AtlasXL_ARMV4I\cesysgen) - 执行
cesysgen命令,等待组件生成完成
- 在Build Environment中切换到你的OS设计的cesysgen目录(比如
清理编译缓存并重新构建
有时候makefile的依赖缓存会出错,先备份好你的OS设计目录下的obj和cesysgen文件夹,然后删除它们。重新打开Platform Builder,选择ARMv4I Retail配置,重新生成整个OS设计。验证ARMv4更新包安装完整性
如果以上步骤都无效,尝试卸载并重新安装ARMv4更新包,注意要以管理员身份运行安装程序——权限不足常导致部分库文件无法正确复制到指定目录。
内容的提问来源于stack exchange,提问作者Srikanth

