Have you successfully freezed the project with make freeze-release-gcce?
If not, take a look at this wiki article. It describes how you can invocate the abld freeze. Normally it is not recognized because it needs first some Environment variables to be set. That is why the article says you must open the command line from: Start" -> "All programs" -> "Qt SDK" -> "Symbian^3 Qt 4.7.3" and open Qt 4.7.3 for Symbian^3 Command Prompt.
Regarding how to use the generated library, before doing so you have to make sure you have placed the header files of the library (that will be needed by the dll) somewhere visible to the Qt Creator.
My suggestion is: in the .pro file of your project create add all the headers that will be exposed by the dll to the PUBLIC_HEADERS tag. For instance:
Then in the symbian scope add the following lines:
PUBLIC_HEADERS += header1.h \
This code copies all the headers that will be needed to use the dll in the epoc32/include folder (which is visible) to the folder LibraryName.
deploy.path = $$EPOCROOT
exportheaders.sources = $$PUBLIC_HEADERS
exportheaders.path = epoc32/include
for(header, exportheaders.sources):BLD_INF_RULES.prj_exports += "$$header $$deploy.path$$exportheaders.path/LibraryName/$$basename(header)"
Also it is important to place the generated file .sis file somewhere that will be visible. In my case i placed it in the epoc32/InstallToDevice folder that i created.
So in the client application for you add the following:
This code first makes visible the header files needed to the Qt Creator and then adds the library to the linker. The command customrules.pkg_prerules is used to embed the .sis file of the library to the .sis file of the project.
INCLUDEPATH += /epoc32/include/LibraryName
LIBS += -lLibraryName
customrules.pkg_prerules = \
DEPLOYMENT += customrules
NOTE: in this line: "@\"$$(EPOCROOT)Epoc32/InstallToDevice/LibraryName0.sis\",(0xA003328D)"\ is expected from you to use the UUID your library had at the time of it's compilation.
Hope it's clear enough.