Pergunta

Eu tenho um problema ao implantar um aplicativo escrito em Qt 4.7.4 / QtQuick 1.0 para Harmattan. Embora tudo corra bem no Simulador, o aplicativo não desenha nenhuma interface de usuário quando implantado no Nokia N9 (MeeGo 1.2 Harmattan, versão PR1.1). A implantação é bem-sucedida e o aplicativo pode ser encontrado na lista de aplicativos no dispositivo, e até mesmo as saídas de log do console podem ser vistas no QtCreator, mas não há sinal de que o aplicativo realmente seja executado no dispositivo - posso navegar livremente pelo sistema e abrir outros aplicativos enquanto o QtCreator diz que meu aplicativo está em execução.

A visualização de saída do aplicativo no QtCreator diz:

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 

E aqui está a saída da compilação:

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.

Embora a saída da compilação possa dar algumas dicas sobre o erro, não tenho ideia do que está errado. Ridiculamente, em algum ponto de desenvolvimento anterior, o aplicativo funcionou no dispositivo. Mas, infelizmente, não sei o que mudei desde então.

Qualquer ajuda é muito apreciada. Agradecemos antecipadamente.

Foi útil?

Solução

Finalmente, resolvi o problema.Foi uma coisa muito trivial - no entanto, demorou muitas horas.

Para tornar o código genérico (pensei), não queria declarar largura e altura exatas para meu elemento QML raiz.Em vez disso, especifiquei

anchors.fill: parent

Bem, esse era o problema.Apenas adicionar 2 linhas de código resolveu meu problema (pelo menos, para executar o aplicativo em um Nokia N9).

width: 480
height: 854

Parece que embora o simulador consiga lidar com a âncora de preenchimento, o N9 não o reconhece no elemento raiz e, portanto, não desenha exatamente nada na tela.

Obrigado fejd por sua ajuda, que me levou à direção certa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top