1. 原因:所用SDK中的Platform GUID 与 NK中的不一致,具体的
在工程文件中如ARM92410.pbxml中,第二行内容
“<Workspace PlatformName="ARM92410" Template="Mobile Handheld" CoreOs="CEBASE" PlatformGuid="3ABD744B-AE15-4DE1-A7AF-8A0E352AF57E" ActiveConfiguration="Samsung SMDK2410: ARMV4I_Release" xmlns="urn:PBCommon-schema">”
标注部分决定了该工程的唯一GUID,使用该pbxml打开工程时PB将会在工程目录自动创建“WINCE500”目录,该目录下的
“%WINCE500%/PBWorkspaces/ARM92410/WINCE500/smdk2410_ARMV4I/OAK/files/project.reg”
文件中的
[HKEY_LOCAL_MACHINE/Windows CE Tools]
"Platform"="{3abd744b-ae15-4de1-a7af-8a0e352af57e}"
注册表Platform键值应该和红色标注部分一致。
用PB创建SDK,将在“WINCE500/PBWorkspaces/ARM92410/MakeSdk”下生成“platform.ini”文件,该文件中的[platform]段中的ID的值为
ID={3ABD744B-AE15-4DE1-A7AF-8A0E352AF57E}
将生成SDK安装后,在安装目录中有“Properties.xml”文件,中有<Property NAME="ID">{3ABD744B-AE15-4DE1-A7AF-8A0E352AF57E}</Property>的定义,这样的SDK才能与NK不会产生匹配警告等问题。
2.若SDK已经和NK不匹配,可以在NK的注册表项:
[HKEY_LOCAL_MACHINE/Windows CE Tools]
"Platform"="{3abd744b-ae15-4de1-a7af-8a0e352af57e}"
更改为“Properties.xml”定义的Property NAME="ID"值。