Problem in deploying application on Qt Creator
-
I'm developing a game application for Symbian^3 devices using Qt SDK 1.2.1. Below is the code on my .pro file
[code]
Add files and directories to ship with the application
by adapting the examples below.
file1.source = /n-back/sounds/.wav
dir1.source = /n-back/sounds/
file2.source = /general/sounds/.mp3
dir2.source = /general/sounds/
file3.source = /general/images/level_buttons/.png
dir3.source = /general/images/level_buttons/
file4.source = /general/images/g_mode_buttons/.*
dir4.source = /general/images/g_mode_buttons/
file5.source = /general/images/AfterQuickPlay/.png
dir5.source = /general/images/AfterQuickPlay/
file6.source = /general/images/.*
dir6.source = /general/images/
file7.source = /eggmatics/images/.
dir7.source = /eggmatics/images/
file8.source = /ladderlogic/images/.
dir8.source = /ladderlogic/images/
file9.source = /vocabulary/images/.
dir9.source = /vocabulary/images/
file10.source = /running eggs/images/.
dir10.source = /running eggs/images/
file11.source = /n-back/images/.
dir11.source = /n-back/images/
DEPLOYMENTFOLDERS = file1
file2
file3
file4
file5
file6
file7
file8
file9
file10
file11symbian:TARGET.UID3 = 0xE6025977
TARGET.EPOCHEAPSIZE = 0x1000 0x1F400000
QT += phonon
Smart Installer package's UID
This UID is from the protected range
and therefore the package will fail to install if self-signed
By default qmake uses the unprotected range value if unprotected UID is defined for the application
and 0x2002CCCF value if protected UID is given to the application
#symbian:DEPLOYMENT.installer_header = 0x2002CCCF
Allow network access on Symbian
symbian:TARGET.CAPABILITY += NetworkServices
If your application uses the Qt Mobility libraries, uncomment
the following lines and add the respective components to the
MOBILITY variable.
CONFIG += mobility
MOBILITY +=
CONFIG += mobility
MOBILITY +=
symbian: {
#ORIGINAL TARGET.UID3 = 0xE6025977
#JOKE TARGET.UID3 = 0xA000D7CE
TARGET.UID3 = 0xE6025977}
SOURCES += main.cpp mainwindow.cpp
customqgraphicsscene.cpp
ladderlogic.cpp
ladder.cpp
lddrlogylwhen.cpp
chick.cpp
wood.cpp
result.cpp
lev.cpp
transition.cpp
timerstring.cpp
levstat.cpp
ladderintsruc.cpp
egg.cpp
eggmatics.cpp
eqtngen.cpp
vocabulary.cpp
arrow.cpp
word.cpp
eggmatics_answer.cpp
r_egg.cpp
running_egg.cpp
acetate.cpp
num_in_square.cpp
q_and_a_box.cpp
n_back.cpp
square.cpp
nbackbutton.cpp
great.cpp
oops.cpp
player.cpp
btnquickgame.cpp
btnlevel.cpp
btnselectgamemode.cpp
quickscore.cpp
graph.cpp
generalbutton.cpp
userbtn.cpp
key.cpp
avatar.cpp
musicplayer.cppHEADERS += mainwindow.h
customqgraphicsscene.h
ladderlogic.h
ladder.h
lddrlogylwhen.h
chick.h
wood.h
result.h
lev.h
transition.h
timerstring.h
levstat.h
ladderintsruc.h
egg.h
eggmatics.h
eqtngen.h
vocabulary.h
arrow.h
word.h
eggmatics_answer.h
r_egg.h
running_egg.h
acetate.h
num_in_square.h
q_and_a_box.h
n_back.h
square.h
nbackbutton.h
great.h
oops.h
player.h
btnquickgame.h
btnlevel.h
btnselectgamemode.h
quickscore.h
graph.h
generalbutton.h
userbtn.h
key.h
avatar.h
musicplayer.hFORMS += mainwindow.ui
QT -= opengl
DEFINES += QT_NO_OPENGL
symbian {
TARGET.UID3 = 0xE6025977
DEPLOYMENT.installer_header=0xE6025977vendorinfo = \ "%{\"CustomVendor-EN\"}" \ ":\"CustomVendor\"" my_deployment.pkg_prerules = vendorinfo DEPLOYMENT += my_deployment
}
Please do not modify the following two lines. Required for deployment.
include(deployment.pri)
qtcAddDeployment()RESOURCES +=
[/code]
There were issues/errors upon building the application on device:
15:23:22: Running build steps for project LadderLogicTest...
15:23:22: Configuration unchanged, skipping qmake step.
15:23:22: Starting: "C:\QtSDK\Symbian\SDKs\Symbian3Qt474\epoc32\tools\make.exe" release-gcce -w
make.exe: Entering directoryC:/Users/Kaye/Desktop/Capstone/Eggheads/LadderLogicTest' sbs -c arm.v5.urel.gcce4_4_1 mifconv : BITMAP [arm.v5.urel.gcce4_4_1] sbs: warning: Missing dependency detected: c:/running C:/QtSDK/Symbian/tools/sbs/win32/cygwin/bin/cp: cannot stat
c:/running': No such file or directorysbs : warnings: 1
sbs : errors: 2built 'arm.v5.urel.gcce4_4_1'
Run time 30 seconds
sbs: build log in C:\QtSDK\Symbian\SDKs\Symbian3Qt474\epoc32\build\Makefile.2012-04-24-15-23-26.16-4820.log
FAILED qmake_emulator_deployment for arm.v5.urel.gcce4_4_1: c:\QtSDK\Symbian\SDKs\Symbian3Qt474\epoc32\data\z\private\e6025977\running
mingw32-make[1]: *** [c:/QtSDK/Symbian/SDKs/Symbian3Qt474/epoc32/data/z/private/e6025977/running] Error 1
sbs: error: The make-engine exited with errors.
make.exe: Leaving directory `C:/Users/Kaye/Desktop/Capstone/Eggheads/LadderLogicTest'
make.exe: *** [release-gcce] Error 1
15:23:55: The process "C:\QtSDK\Symbian\SDKs\Symbian3Qt474\epoc32\tools\make.exe" exited with code 2.
Error while building project LadderLogicTest (target: Symbian Device)
When executing build step 'Make'How will i solve this problem?
-
You should put a TARGET, so the installer knows where should install the files into device.
@
file1.source = /n-back/sounds/.wav
file1.path = dir_on_phone/n-back/sounds/.wav <----dir1.source = /n-back/sounds/
dir1.path = dir_on_phone/n-back/sounds/ <----
@By the way, if you move the whole dir, the installer move the files into that directory
-
Update: As far as I see from the error file your problem is caused by a missing dependency. Ensure that file c:/running exists because Cygwin complains about it.
-
[quote author="GentooXativa" date="1335259554"]You should put a TARGET, so the installer knows where should install the files into device.
@
file1.source = /n-back/sounds/.wav
file1.path = dir_on_phone/n-back/sounds/.wav <----dir1.source = /n-back/sounds/
dir1.path = dir_on_phone/n-back/sounds/ <----
@By the way, if you move the whole dir, the installer move the files into that directory[/quote]
How do I know the dir on phone? is that a variable? or is "dir_on_phone" the one i will literally use?
[quote author="leon.anavi" date="1335259693"]Update: As far as I see from the error file your problem is caused by a missing dependency. Ensure that file c:/running exists because Cygwin complains about it. [/quote]
How do i check if it exists? And if it does not exist, what will i do?
Sorry.I'm really a newbie in QT
-
the dir on phone is relative
@
/private/<UID of your APP/
@so if you use
@
file1.source = /n-back/sounds/.wav
file1.path = n-back/sounds/.wav
@This go to install into:
@
/private/<UID of your APP>/n-back/sounds
@ -
[quote author="GentooXativa" date="1335261313"]the dir on phone is relative
@
/private/<UID of your APP/
@so if you use
@
file1.source = /n-back/sounds/.wav
file1.path = n-back/sounds/.wav
@This go to install into:
@
/private/<UID of your APP>/n-back/sounds
@[/quote]I changed my codes according to what you instructed but same error appears, "make-engine exited with errors"
-
Can you paste the error here or at pastebin? So i can help you properly :D
-
Here are the issues:
warning: Missing dependency detected: c:/running
error: Recipe qmake_emulator_deployment failed with exit code 1.
Running command: C:/QtSDK/Symbian/tools/sbs/win32/cygwin/bin/cp.exe --remove-destination --no-preserve=mode c:/running c:/QtSDK/Symbian/SDKs/Symbian3Qt474/epoc32/data/z/private/e6025977/running
C:/QtSDK/Symbian/tools/sbs/win32/cygwin/bin/cp: cannot stat `c:/running': No such file or directoryerror: The make-engine exited with errors.
by the way, thanks in advance GentooXativa!
-
The problem is that qmake doesn't handle directories with spaces in them very well at all. That's why it's only seeing "running" instead of "running eggs"
Try renaming "running eggs" to "running_eggs" or something similar and I bet things will work properly.
-
Many thanks to those who replied! We are still not finished with the deployment but atleast there is already a progress. The Qt Creator has already produced a .sis file.