Frage

Ich verwende Qt, um eine Symbian-App zu entwickeln.

Ich habe qjson von heruntergeladen Verknüpfung.Ich habe die Anweisungen in diesem Link befolgt und ja, ich habe die Datei qjson.sis.Jetzt muss ich es in meiner App verwenden.Als ich es versuchte, bekam ich diesen Fehler.

Start fehlgeschlagen:Befehlsantwort [Befehlsfehler], 1 anzufordernde Werte:'C | 101 | Prozesse | Start | "" | "MyProject.exe" | [""] | [] | True' {"Code":-46, format = "konnte den Prozess nicht erstellt (überprüfen Alle erforderlichen DLLs wurden übertragen) (Erlaubnis abgelehnt) "} Fehler:„Fehler beim Erstellen des Prozesses (überprüfen Sie, ob die ausführbare Datei und alle erforderlichen DLLs übertragen wurden) (Berechtigung verweigert)“ Code:-46

Und wenn ich auf das Startsymbol drücke, wird angezeigt: „Datei konnte aus Sicherheitsgründen nicht ausgeführt werden“.

Dann habe ich qjson.sis auf meinem Handy installiert und dann versucht, meine App zu installieren. Ich habe diese Fehlermeldung erhalten.

:-1:Fehler:Installation fehlgeschlagen:„Die Datei, die einem anderen Paket gehört, konnte nicht überschrieben werden:c:\sys\bin\qjson.dll in ' Code:131073;sehen http://wiki.forum.nokia.com/index.php/Symbian_OS_Error_Codes für Beschreibungen der Fehlercodes

In meiner .pro-Datei habe ich das.

symbian: {
addFiles.sources = qjson.dll
addFiles.path = /sys/bin
DEPLOYMENT += addFiles
}

symbian: {
LIBS +=  -lqjson
}

Irgendwelche Ideen...?

War es hilfreich?

Lösung

Ok, ich habe gerade ein ähnliches Problem gelöst:Es scheint, dass Ihr aktueller Build der QJson-Bibliothek eine andere UID3 hat als der vorherige, den Sie auf dem Telefon installiert haben.

Jede auf dem Gerät installierte .SIS-Datei verfügt über eine Kennung.Das Betriebssystem des Telefons verfolgt, welche Datei von welchem ​​Paket installiert wurde, und wenn ein neues Paket eine vorhandene Datei überschreiben möchte, prüft das Betriebssystem, ob das neue Paket dieselbe „Identität“ hat wie der vorherige Besitzer der zu überschreibenden Datei.

Wenn die Identität nicht übereinstimmt, wird dieser Fehler angezeigt.

Es gibt eine Reihe von Gründen, warum dies geschehen sein könnte.Beispielsweise hätte man vor dem Build einfach die UID3 des QJson ändern können.Oder vielleicht Du hast es vergessen UID3 der Bibliothek festlegen?Überprüfen Sie „src.pro“ im QJson-Projekt und gehen Sie zur Hälfte der Datei. Sie sehen die folgenden Zeilen:

#TARGET.UID3 = 
TARGET.CAPABILITY = ReadDeviceData WriteDeviceData

Wenn # vorhanden ist, haben Sie vergessen, es festzulegen, und der Erstellungsprozess hat einen, sagen wir mal, „zufälligen Wert“ angenommen.Also stellen Sie es jetzt auf etwas ein, z. TARGET.UID3 = 0xE0123456.Denken Sie daran, dies zu korrigieren, sobald Sie bereit sind, die Anwendung zu veröffentlichen.

Wenn ein Paket mit defekter UID3 auf Ihr Telefon gelangt und etwas blockiert, gehen Sie einfach wie folgt vor:deinstallieren Sie es.Gehe zu Settings/Installations/Installed, suchen Sie dann nach „qjson“ und deinstallieren Sie es.Danach sollte die nächste Installation von qjson ohne Probleme erfolgreich sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top