我使用Qt Creator创建了一个动态库,我已将其包含在另一个Qt项目中,但是当我使用资源文件调用函数时,例如在资源中读取.txt的内容时,它不起作用。
在构建动态库后,在库项目文件夹外的另一个文件夹中创建了*.so
,*.a
和qrc_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
答案 0 :(得分:1)
答案 1 :(得分:0)
所以我能够通过使用QFile
对象而不是ifstream
对象来打开和读取文件来解决问题。