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

时间:2017-07-13 12:14:21

标签: qt dynamic dll shared-libraries

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

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

  • 项目文件夹:/home/username/Qt Project/library/
  • 构建文件夹:/home/username/Qt Project/build-library/

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

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

更新

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

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

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