0

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

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

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 附带的示例项目中,但不是新创建的项目。

如何修复此错误?

4

1 回答 1

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
}

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

于 2013-09-15T08:54:52.327 回答