2011-01-28 1 views
1

Qtプログラム(Symbian用)にファイルを組み込み、エミュレータ経由でファイルを実行しようとしました。エクスポートされたファイルはありません。私は私のqmakeのファイルに使用してきたコードは次のとおりです。このようにファイルにアクセスできるようにSymbianデプロイメントにファイルを含めるにはどうすればいいですか?

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ファイル?

答えて

2

これらのファイルを展開すると、どこに配置されると思われますか?

addFiles.path = . 

私は不確定です - ファイルが展開されているときは「現在の」ディレクトリではありません。

あなたが知っているパスを提供します。私確かに、この目的のためにアプリのプライベートディレクトリを使用しました:

addFiles.path = \private\e22a34fe 

...あなたはエミュレータ上で実行している場合、あなたは

QApplication::applicationDirPath() 

であなたのファイルのディレクトリを取得することができ、またチェックファイルがデプロイされている場合「本当の」Symbianエミュレータを使用している場合は、epoc32 \ winscwの下にファイルシステムがあります

+0

私はバイナリと同じディレクトリに配置されていると推測しました。それが、 "。"提案する、そう?あなたは '\ private \ e22a34fe'を言いました..それはいつもこのディレクトリですか?あなたはまた私が今見ようとしている実際のSymbianエミュレータについて言及しました。なぜQtで資産を出荷するのがとても複雑なのか、本当に不思議です。つまり、複雑なことがあれば、それをどのように発展させるでしょうか? :-( –

+0

Qt SDKに同梱されているシミュレータを使用することができない場合、つまり、ネイティブのSymbian機能よりもカスタムラッパーを使用しない場合、標準のSymbianエミュレータ(別名epoc)を使用しないでください。 – chalup

+0

\ private \ xxxxディレクトリはSymbianアプリケーションのデータディレクトリで、xxxxはアプリケーションのUIDです(もちろん '0x'は含まれません) 。 – KevinD

2

すべてのexeファイルとdllファイルは/ sys/binに保存されていますディレクトリに格納され、各アプリケーションは/ private/APPUIDディレクトリにデータを保持します(APPUIDはアプリケーションUID3です)。 "。"にファイルを展開するあなたの.proファイルに "TARGET.UID3 = 0xe22a34fe"があるので、あなたのケースではKevinDが述べたように/ private/e22a34feになります)。

ファイルがデバイスに配置される場所を調べるには、qmakeによって生成されたappname_template.pkgを確認します。構文はかなり簡単です(問題が発生した場合はread the documentation)。

SymbianのQDir :: current()によって返されるディレクトリはわかりませんが、QCoreApplication :: applicationDirPath()はアプリケーションのプライベートディレクトリへのパスを返すべきです。

0

これらのファイルをアプリケーションでのみ使用する場合は、Qtリソースファイルを使用できます。

新しいリソースファイルFile-> New File-> Files and Classes-> Qt-> Qt Resource fileを追加します。次に、必要なファイルを追加します。すべての画像は等価なユニコードのテキストに変換されます。 Deploying files with Qt application

+0

Qtのリソースは非常に使いやすいので、これは初心者のために知っておくと良いことですが、あなたの神経のために覚えておいてください。Qtリソースは**読み取り専用です**。それらに読み書きします。 – quetzalcoatl

関連する問題