我在为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