在 Qt 中使用资源创建和使用动态库

Create and Use Dynamic Library with Resources in Qt

我使用 Qt Creator 创建了一个动态库,我已经将其包含在另一个 Qt 项目中,但是当我使用资源文件调用函数时,例如读取资源中 .txt 的内容,它不起作用。

一旦我有了动态库的构建,它在库项目文件夹外的另一个文件夹中创建了 *.so*.aqrc_resources.cpp 文件,例如:

然后我将构建文件复制到库项目文件夹中,并从测试项目(Qt 应用程序项目)中右键单击该项目 -> 添加库 -> 外部库 -> Select .so 文件(来自我刚刚复制的库项目文件夹)。

然后,在包含头文件并调用从 qrc 资源读取文件内容的函数后,它不起作用。

更新

我使用 QFile 检查它所在的资源文件是否存在,但出现此错误:QIODevice::read (QFile, ":/file.txt"): device not open

Adding Libraries to Projects

以后

我认为需要 create an external resource file.

所以我能够通过使用 QFile 对象而不是 ifstream 对象来打开和读取文件来解决问题。