:-1:错误:在C:\ QtSDK \ Symbian \ SDKs \ Symbian1Qt473 \ bin \ createpackage.pl第357行自动修补失败

时间:2013-09-15 08:41:28

标签: c++ qt symbian s60

我已经安装了Qt SDK 1.2.1,当我使用Qt 4.7.3构建其中一个示例应用程序 - 用于Symbian S60的Haptics Player时。

示例编译成功,但在部署步骤失败。这是编译器输出:

ERROR: Automatic patching failed at C:\QtSDK\Symbian\SDKs\Symbian1Qt473\bin\createpackage.pl line 357.
make[1]: *** [ok_sis] Error 2
C:\QtSDK\Symbian\SDKs\Symbian1Qt473\epoc32\tools\make.exe: *** [sis] Error 2
01:38:16: The process "C:\QtSDK\Symbian\SDKs\Symbian1Qt473\epoc32\tools\make.exe" exited with code 2.
Error while building project hapticsplayer (target: Symbian Device)
When executing build step 'Create SIS Package'

但是,一个新创建的空项目在我的手机上成功运行,即在Qt SDK附带的示例项目中发生此错误,但不是新创建的项目。

如何解决此错误?

1 个答案:

答案 0 :(得分:1)

仔细检查编译器输出后,我注意到了这一点:

Patching: Executable with capabilities incompatible with self-signing detected: "hapticsplayer_patched_caps.exe". (Incompatible capabilities: "ReadDeviceData", "WriteDeviceData".) Reducing capabilities is only supported for libraries.

Patching: Unable to patch the package for self-singing.
Use a proper developer certificate for signing this package.

显然,功能WriteDeviceDataReadDeviceData不能用于自签名包,并且需要适当的开发人员证书(这不是免费的,我没有)。

从.pro文件中删除这些行修复了问题,现在Haptics Player编译:

symbian: {
    TARGET.CAPABILITY = WriteDeviceData ReadDeviceData
}

它似乎并不真正需要这些功能,我不知道它们为什么被添加。可能是疏忽。