silvansky programming stuff

18Aug/100

qt symbian plugins

Не знаю, как у вас, а у меня всегда что-то компилится.

так вот, сегодня собираем плагины под симбиан.

если хочешь собрать плагин под симбиан, то надо сделать вот что. в .pro файле плагина пишем так:

TEMPLATE        = lib
CONFIG         += plugin
TARGET          = $$qtLibraryTarget(myplugin)

symbian: {
	load(data_caging_paths)
	TARGET.EPOCALLOWDLLDATA=1
	TARGET.UID3 = 0xXXXXXXXX
	TARGET.CAPABILITY += "LocalServices Location NetworkServices ReadUserData UserEnvironment WriteUserData"
	# dummy deployment (for qt creator)
	plugin.sources = myplugin.dll
	plugin.path = !:/sys/bin
	DEPLOYMENT += plugin
}

UID3 указывается индивидально. например, получить UID можно на сайте SymbianSigned

последние три строки кода нужны для qt creator'а, чтобы он создал .sis файл. нам это не нужно, но криейтор без этого не может.

в принципе, всё. плагин готов (если конечно содержимое у него адекватное). теперь самое простое - деплой вместе с приложением. например, для деплоя плагина в папку !:/Private/XXXXXXXX/plugins (XXXXXXXX - UID приложения), надо в .pro нашей проги написать:

symbian: {
	plugins.sources = myplugin.dll \
			myplugin2.dll
	plugins.path = ./plugins
	DEPLOYMENT += plugins
}

теперь всё готово. можно собирать. искать плагины надо в QApplication::applicationDirPath() + "/plugins". и можно радоваться жизни.