私は別のQtプロジェクトに含まれているQt Creatorを使ってダイナミックライブラリを作成しましたが、例えばリソース内の.txtの内容を読み取るなど、 、 それは動作しません。Qtのリソースでダイナミックライブラリを作成して使用する
私は*.so
、*.a
およびライブラリプロジェクトフォルダ外の別のフォルダ内のファイルqrc_resources.cpp
、例えば、作成された動的ライブラリのビルドしたら:
- プロジェクトフォルダ:
/home/username/Qt Project/library/
- ビルドフォルダを:
/home/username/Qt Project/build-library/
ビルドファイルをライブラリプロジェクトフォルダとテストプロジェクト(Qtアプリケーションプロジェクト)にコピーすると、私はriプロジェクトをクリック - >ライブラリを追加 - >外部ライブラリ - > .soファイルを選択します(私がコピーしたライブラリプロジェクトフォルダから)。
その後、ヘッダーファイルをインクルードし、qrc
リソースからファイルの内容を読み取る関数を呼び出した後では機能しません。
UPDATE
私はリソースファイルはそれがないているに存在するかどうかをチェックするためにqfileによりを使用しますが、私はこのエラーを取得:QIODevice::read (QFile, ":/file.txt"): device not open
使用されている技術とコードに関する情報を追加してください。あなたのアプローチを見直す簡単なコンパイル可能な例を提供してください。 –
私はもう少し情報を含んでいます、それは十分ですか? –
これはコンパイル可能なサンプルではなく、少なくとも私が知ったコンパイラではありません。それでも、テストアプリケーション内のライブラリressourceファイルにアクセスしようとしていますか? https://doc.qt.io/qt-5/resources.html#using-resources-in-a-library –