首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的Qt symbain应用程序中使用qjson

在我的Qt symbain应用程序中使用qjson
EN

Stack Overflow用户
提问于 2012-10-03 17:11:41
回答 1查看 233关注 0票数 1

我正在使用Qt开发一个Symbian应用程序。

我从link下载了qjson。我按照链接中的说明进行了操作,是的,我有qjson.sis文件。现在我需要在我的应用程序中使用它。当我尝试的时候,我得到了这个错误。

启动失败:命令应答命令错误,1要请求的值:'C|101|Processes|start|""|"MyProject.exe"|""|[]|true‘{“代码”:-46,Format=“无法创建进程(验证可执行文件和所有必需的all是否已传输)(权限被拒绝)”}错误:’无法创建进程(验证可执行文件和所有必需的all是否已传输)(权限被拒绝)‘代码:-46

当我按下启动图标时,它显示“由于安全原因无法执行文件”。

然后我在我的手机上安装了qjson.sis,然后尝试安装我的应用程序,我得到了这个错误。

:-1:错误:安装失败:‘无法覆盖另一个软件包拥有的文件: c:\sys\bin\qjson.dll in’代码: 131073;有关错误代码的说明,请参阅http://wiki.forum.nokia.com/index.php/Symbian_OS_Error_Codes

在我的.pro文件中,我有这个。

代码语言:javascript
复制
symbian: {
addFiles.sources = qjson.dll
addFiles.path = /sys/bin
DEPLOYMENT += addFiles
}

symbian: {
LIBS +=  -lqjson
}

有什么想法...?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-04 20:50:30

好了,我刚刚解决了一个类似的问题:您当前构建的QJson库的UID3与您之前安装在手机上的不同。

安装在设备上的每个.SIS文件都有一个标识符。手机操作系统跟踪哪个包安装了哪个文件,如果某个新包想要覆盖现有文件,操作系统会检查新包是否与要覆盖的文件的前一个所有者具有相同的“身份”。

如果身份不匹配,则会弹出此错误。

导致这种情况发生的原因有很多。例如,您可以在构建之前简单地更改QJson的UID3。或者,也许你忘记了来设置库的UID3?检查QJson项目中的“src.pro”并转到文件的一半,您将看到行:

代码语言:javascript
复制
#TARGET.UID3 = 
TARGET.CAPABILITY = ReadDeviceData WriteDeviceData

如果有#,那么你就忘了设置它,构建过程假设是“一个随机值”。所以,现在,将它设置为某个值,即。TARGET.UID3 = 0xE0123456。请记住,一旦准备好发布应用程序,就要纠正这一点。

如果一个带有坏掉的UID3的软件包出现在你的手机上,并且阻塞了什么--很简单:卸载它。进入Settings/Installations/Installed,找到"qjson“并卸载。之后,下一期的qjson应该会成功,不会有任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12705282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档