Domanda

Ho un problema durante la distribuzione di un'applicazione scritta in Qt 4.7.4 / QtQuick 1.0 per Harmattan. Sebbene tutto funzioni correttamente nel simulatore, l'applicazione non disegna alcuna interfaccia utente quando distribuita su Nokia N9 (MeeGo 1.2 Harmattan, versione PR1.1). La distribuzione ha esito positivo e l'app può essere trovata nell'elenco delle applicazioni sul dispositivo e anche gli output del registro della console possono essere visualizzati in QtCreator, ma non vi è alcun segno che l'app venga effettivamente eseguita sul dispositivo: posso navigare liberamente nel sistema e apri altre app mentre QtCreator dice che la mia applicazione è in esecuzione.

La visualizzazione dell'output dell'applicazione in QtCreator dice:

Killing remote process(es)...
Starting remote process ...
Remote process started.
Using the meego graphics system
Found SGX/MBX driver, enabling FullClearOnEveryFrame 
Found v1.4 driver, enabling brokenTexSubImage 

Ed ecco l'output della compilazione:

Running build steps for project pacca...
Configuration unchanged, skipping qmake step.
Starting: "C:\qtsdk\madde\bin\make.exe" -w
make: Entering directory `/d/qtproject/pacca'
make: Nothing to be done for `first'.
make: Leaving directory `/d/qtproject/pacca'
The process "C:\qtsdk\madde\bin\make.exe" exited normally.
Creating package file ...
Package Creation: Running command 'c:/qtsdk/madde/bin/mad dpkg-buildpackage -nc -uc -us'.
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value: 
dpkg-buildpackage: set LDFLAGS to default value: 
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
which: pgp: unknown command
dpkg-buildpackage: source package pacca
dpkg-buildpackage: source version 0.0.1
dpkg-buildpackage: source changed by unknown <>
dpkg-buildpackage: host architecture armel
 debian/rules build
make: Nothing to be done for `build'.
 debian/rules binary
dh_testdir
dh_testroot
dh_clean -k 
dh_installdirs
# Add here commands to install the package into debian/pacca.
/usr/bin/make INSTALL_ROOT="/d/qtproject/pacca"/debian/pacca install
make[1]: Entering directory `/d/qtproject/pacca'
cp -f -r d:/qtproject/pacca/qml/pacca /d/qtproject/pacca/debian/pacca/opt/pacca/qml/
install -m 644 -p d:/qtproject/pacca/pacca80.png /d/qtproject/pacca/debian/pacca/usr/share/icons/hicolor/80x80/apps/
install -m 644 -p d:/qtproject/pacca/pacca_harmattan.desktop /d/qtproject/pacca/debian/pacca/usr/share/applications/
install -m 755 -p "pacca" "/d/qtproject/pacca/debian/pacca/opt/pacca/bin/pacca"
make[1]: Leaving directory `/d/qtproject/pacca'
dh_testdir
dh_testroot
dh_installchangelogs 
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
# dh_shlibdeps # Uncomment this line for use without Qt Creator
dh_gencontrol
dh_md5sums
dpkg-gencontrol: warning: unknown substitution variable ${shlibs:Depends}
dpkg-gencontrol: warning: unknown substitution variable ${misc:Depends}
dh_builddeb
aegis-manifest: No findings in 'pacca'.
 dpkg-genchanges -b -u.. >../pacca_0.0.1_armel.changes
dpkg-buildpackage: binary only upload (no source included)
dpkg-genchanges: binary-only upload - not including any source code
Can't locate Debian/Debhelper/Dh_Lib.pm in @INC (@INC contains: /usr/lib/perl5/5.8/msys /usr/lib/perl5/5.8 /usr/lib/perl5/site_perl/5.8/msys /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/vendor_perl/5.8/msys /usr/lib/perl5/vendor_perl/5.8 /usr/lib/perl5/vendor_perl/5.8 .) at c:/qtsdk/madde/madbin/dh_clean line 10.
BEGIN failed--compilation aborted at c:/qtsdk/madde/madbin/dh_clean line 10.
Package created.
Installing package to sysroot ...
Package 'pacca' removed.

Package 'pacca' installed.

Connecting to device...
Preparing SFTP connection...
Starting upload...
Successfully uploaded package file.
Installing package to device...
(Reading database ... 41700 files and directories currently installed.)
Preparing to replace pacca 0.0.1 (using .../pacca_0.0.1_armel.deb) ...
Unpacking replacement pacca ...
aegis-installing pacca (from '')
Setting up pacca (0.0.1) ...
Processing triggers for desktop-file-utils ...
Processing triggers for hicolor-icon-theme ...
Package installed.
Deployment finished.

Sebbene l'output della compilazione possa fornire alcuni suggerimenti sull'errore, non ho idea di cosa stia andando storto. Ridicolmente, in un punto di sviluppo precedente l'app ha funzionato sul dispositivo. Ma sfortunatamente non so cosa sono cambiato da allora.

Qualsiasi aiuto è molto apprezzato. Grazie in anticipo.

È stato utile?

Soluzione

Infine, ho risolto il problema.Era una cosa molto banale, tuttavia mi ci sono volute molte ore.

Per rendere il codice generico (pensavo), non volevo dichiarare la larghezza e l'altezza esatte per il mio elemento QML radice.Invece, ho specificato

anchors.fill: parent

Bene, questo era il problema.La semplice aggiunta di 2 righe di codice ha risolto il mio problema (almeno, per l'esecuzione dell'applicazione su un Nokia N9).

width: 480
height: 854

Sembra che sebbene il simulatore possa gestirlo con l'ancora di riempimento, l'N9 non lo riconosce nell'elemento radice e quindi non disegna esattamente nulla sullo schermo.

Grazie Fejd per il tuo aiuto che mi ha portato nella giusta direzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top