当我尝试在 4.7.4 动态版本上构建代码时遇到一些问题。由于以下两行,我出现链接错误:
Q_IMPORT_PLUGIN(qgif) Q_IMPORT_PLUGIN(qjpeg)
为了解决这个问题,我刚刚评论了上面的几行。现在一切都正确编译了,这很奇怪。这是否意味着代码没有使用该插件(看起来是一个愚蠢的问题,但是该项目有几十万行,我不知道它的每一部分)
问题:qgif 和 qjped 插件的用途是什么。我应该期望代码使用这些插件的显式函数吗?
我只是想确保我不会因为提交这些行而破坏某些东西......
最佳答案
仅当您静态链接插件时才需要这些。由于您使用的是动态版本,因此不需要它们,并且可以安全地将它们排除在外。您只需将插件 DLL 或 SO 文件放置在可执行文件附近即可。如果您打开安装 Qt 库的安装目录(在我的例子中为 G:\Libraries\Qt\4.7.1),您将看到一个名为“plugins”的目录,您可以将其复制并粘贴到您的项目中,与您的可执行文件相邻。
至于这些插件的目的,它们添加了对 QImage 和其他 Qt 图像相关组件的支持,以添加文件格式,以便您可以读取和写入,并具有不同级别的支持。支持级别可以查看here ,在读取和写入图像文件下。
关于c++ - Q_IMPORT_PLUGIN 使用 qgif 和 qjpeg 插件编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022129/