Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Qt中创建和使用具有资源的动态库_Qt_Dynamic_Dll_Shared Libraries - Fatal编程技术网

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

在Qt中创建和使用具有资源的动态库,qt,dynamic,dll,shared-libraries,Qt,Dynamic,Dll,Shared Libraries,我已经使用Qt Creator创建了一个动态库,我已经在另一个Qt项目中包含了该库,但是当我使用works与资源文件调用函数(例如读取资源中的.txt内容)时,它不起作用 一旦我建立了动态库,它在库项目文件夹外的另一个文件夹中创建了*.so、*.a和qrc\u resources.cpp文件,例如: 项目文件夹:/home/username/Qt-Project/library/ 生成文件夹:/home/username/Qt项目/buildlibrary/ 然后我将构建文件复制到libra

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

一旦我建立了动态库,它在库项目文件夹外的另一个文件夹中创建了
*.so
*.a
qrc\u resources.cpp
文件,例如:

  • 项目文件夹:
    /home/username/Qt-Project/library/
  • 生成文件夹:
    /home/username/Qt项目/buildlibrary/
然后我将构建文件复制到library项目文件夹中,并从测试项目(一个Qt应用程序项目)右键单击项目->添加库->外部库->选择.so文件(从我刚才复制的library项目文件夹)

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

更新


我使用QFile来检查资源文件是否存在,但我得到了以下错误:
QIODevice::read(QFile,:/File.txt”):设备未打开

后来


我认为需要

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

请添加有关所用技术和代码的更多信息。最好提供一个简单的可编译示例来回顾您的方法。我提供了更多的信息,是否足够?这不是一个可编译的示例,至少对于我听说的编译器来说不是。但是,您是否正在尝试访问测试应用程序中的库资源文件?read不是编译中的默认选项?我使用QFile检查资源文件是否存在,但我收到以下错误:QIODevice::read(QFile,:/File.txt”):设备未打开,但编译中的资源不包括库中的资源吗?