我正在使用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文件中,我有这个。
symbian: {
addFiles.sources = qjson.dll
addFiles.path = /sys/bin
DEPLOYMENT += addFiles
}
symbian: {
LIBS += -lqjson
}有什么想法...?
发布于 2012-10-04 20:50:30
好了,我刚刚解决了一个类似的问题:您当前构建的QJson库的UID3与您之前安装在手机上的不同。
安装在设备上的每个.SIS文件都有一个标识符。手机操作系统跟踪哪个包安装了哪个文件,如果某个新包想要覆盖现有文件,操作系统会检查新包是否与要覆盖的文件的前一个所有者具有相同的“身份”。
如果身份不匹配,则会弹出此错误。
导致这种情况发生的原因有很多。例如,您可以在构建之前简单地更改QJson的UID3。或者,也许你忘记了来设置库的UID3?检查QJson项目中的“src.pro”并转到文件的一半,您将看到行:
#TARGET.UID3 =
TARGET.CAPABILITY = ReadDeviceData WriteDeviceData如果有#,那么你就忘了设置它,构建过程假设是“一个随机值”。所以,现在,将它设置为某个值,即。TARGET.UID3 = 0xE0123456。请记住,一旦准备好发布应用程序,就要纠正这一点。
如果一个带有坏掉的UID3的软件包出现在你的手机上,并且阻塞了什么--很简单:卸载它。进入Settings/Installations/Installed,找到"qjson“并卸载。之后,下一期的qjson应该会成功,不会有任何问题。
https://stackoverflow.com/questions/12705282
复制相似问题