Как включить файлы в Symbian Deployment, чтобы он был доступен? - PullRequest
1 голос
/ 28 января 2011

Я попытался включить файлы в мою программу Qt (для symbian) и запустил ее через эмулятор. Файлы не были экспортированы. Код, который я использовал в своем файле QMake:

symbian {
    TARGET.UID3 = 0xe22a34fe
    # TARGET.CAPABILITY += 
    TARGET.EPOCSTACKSIZE = 0x14000
    TARGET.EPOCHEAPSIZE = 0x020000 0x800000

    addFiles.sources = 01.jpg 02.jpg 03.jpg
    addFiles.path = .
    DEPLOYMENT += addFiles
}

OTHER_FILES += \
    03.jpg \
    02.jpg \
    01.jpg

Таким образом, вызов QDir :: entryInfoList () не покажет файлов:

QDir dir = QDir::current();
dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
QFileInfoList list = dir.entryInfoList();
// list is empty.

Я что-то упускаю в файле .pro?

Ответы [ 3 ]

2 голосов
/ 29 января 2011

В ОС Symbian все файлы exe и dll хранятся в каталоге / sys / bin, а каждое приложение хранит свои данные в каталоге / private / APPUID (где APPUID - это UID3 приложения).Развертывание файлов в "."будет развертывать файлы в личном каталоге приложения (в вашем случае это будет / private / e22a34fe, как упомянул KevinD, потому что в вашем файле .pro есть «TARGET.UID3 = 0xe22a34fe»).файлы будут развернуты на устройстве, проверьте appname_template.pkg, сгенерированный qmake.Его синтаксис довольно прост (и в случае каких-либо проблем вы можете прочитать документацию ).

Я не уверен, какой каталог возвращается QDir :: current () в Symbian,но в документации говорится, что QCoreApplication :: applicationDirPath () должен возвращать путь к частному каталогу приложения.

2 голосов
/ 28 января 2011

Когда вы развертываете эти файлы, где вы ожидаете их размещения?

addFiles.path = .

для меня не определено - это не «текущий» каталог, когда файлы развернуты.

Укажите путь, который, как вы знаете, существует. Я, конечно, использовал для этого личный каталог приложения:

addFiles.path = \private\e22a34fe

... тогда вы можете получить каталог ваших файлов с помощью

QApplication::applicationDirPath()

Если вы работаете на эмуляторе, также проверьте, развернуты ли файлы. Если вы используете «настоящий» эмулятор Symbian (а не довольно ужасную версию QT), вы найдете файловую систему в epoc32 \ winscw

0 голосов
/ 19 марта 2011

Если вы собираетесь использовать эти файлы только в приложении, то вы можете попробовать использовать файл Qt Resource.

Чтобы добавить новый файл ресурсов Файл-> Новый файл-> Файлы и классы-> Qt-> Файл ресурсов Qt. Затем добавьте необходимые файлы, которые вам нужны. Все изображения будут преобразованы в эквивалентный текст Unicode или что-то. Развертывание файлов с помощью приложения Qt

...