我在爲Harmattan部署使用Qt 4.7.4/QtQuick 1.0編寫的應用程序時遇到問題。 當模擬器中的所有內容都正確時,應用程序在諾基亞N9(MeeGo 1.2 Harmattan,版本PR1.1)上部署時不會繪製任何用戶界面。部署成功,應用程序可以在設備上的應用程序列表中找到,甚至可以在QtCreator中看到控制檯日誌輸出,但是沒有跡象表明應用程序實際在設備上運行 - 我可以自由瀏覽系統並打開其他應用程序,而QtCreator說我的應用程序正在運行。Qt應用程序不會在MeeGo上在諾基亞N9上繪製任何用戶界面
在QtCreator應用輸出圖說:
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
而且繼承人的編譯輸出:
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.
雖然編譯輸出可能會提供有關該錯誤的一些提示,我不知道是什麼出錯了。可笑的是,在一些早期的開發階段,應用程序在設備上工作。但不幸的是,我不知道自那以後我有什麼變化。
任何幫助,高度讚賞。提前致謝。
您的主QML文件中是否有PageStackWindow或Page?您是否導入QtQuick 1.0或1.1? – fejd 2012-01-16 22:20:50
我的主要QML文件中既沒有PageStackWindow也沒有Page。我使用QtQuick 1.0。你認爲導入QtQuick 1.1可以解決問題嗎?我會試一試。 – endowzoner 2012-01-17 10:13:17
Qt 4.7.4可能包含Qt Quick 1.1,但無論如何它都可能包含1.0。當我在一個文件中包含1.1和另一個文件時,我遇到了問題。如果您在根項目中添加Component.onCompleted {//獲取組件狀態},是否會在控制檯中獲得任何日誌輸出?否則,運行和部署日誌對我來說看起來不錯。我建議Page或PageStackWindow的原因是我見過的大多數例子似乎都使用它們,或者說Window。但既然你說過它在那之前工作,那可能不是問題。 – fejd 2012-01-17 21:00:49