1

Qt を使用して Symbian アプリを開発しています。

リンクからqjsonをダウンロードしました。そのリンクの指示に従いました。はい、qjson.sis ファイルがあります。今、私は自分のアプリでそれを使用する必要があります。試してみると、このエラーが発生しました。

起動に失敗しました: コマンド応答 [コマンド エラー]、要求する 1 つの値: 'C|101|Processes|start|""|"MyProject.exe"|[""]|[]|true' {"コード" :-46,Format="プロセスの作成に失敗しました (実行可能ファイルと必要なすべての DLL が転送されたことを確認してください) (許可が拒否されました)"} エラー: 'プロセスの作成に失敗しました (実行可能ファイルと必要なすべての DLL が転送されたことを確認してください)転送されました) (許可が拒否されました)' コード: -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
}

何か案は...?

4

1 に答える 1

0

OK、同様の問題を解決しました。QJson のライブラリの現在のビルドは、電話にインストールした以前のものとは異なる UID3 を持っているようです。

デバイスにインストールされている各 .SIS ファイルには識別子があります。電話の OS は、どのファイルがどのパッケージによってインストールされたかを追跡し、新しいパッケージが既存のファイルを上書きする必要がある場合、OS は新しいパッケージが上書きされるファイルの以前の所有者と同じ「ID」を持っているかどうかを確認します。

ID が一致しない場合、このエラーが表示されます。

これが起こった理由はいくつかあります。たとえば、ビルド前に QJson の UID3 を変更するだけで済みます。または、ライブラリの UID3 を設定するのを忘れたのでしょうか? QJson プロジェクトの「src.pro」を確認し、ファイルの半分に移動すると、次の行が表示されます。

#TARGET.UID3 = 
TARGET.CAPABILITY = ReadDeviceData WriteDeviceData

# がある場合は、それを設定するのを忘れており、ビルド プロセスは「ランダムな値」と仮定しています。だから、今、それを何かに設定してください。TARGET.UID3 = 0xE0123456. アプリケーションを公開する準備ができたら、忘れずに修正してください。

UID3 が壊れたパッケージが携帯電話に侵入し、何かをブロックしている場合は、単純にアンインストールします。に移動しSettings/Installations/Installed、「qjson」を見つけてアンインストールします。その後、qjson の次のインストールは問題なく成功するはずです。

于 2012-10-04T12:50:29.787 に答える