详解 Qt 库中添加插件办法

移动开发
本文介绍的内容是在Qt 库中添加插件办法,插件是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,插件有无数种。

Qt 库中添加插件办法是本篇文章要讲解的内容,前天下载了Qt 4.6.1的最新版本,编译了一夜终于编译完成,兴冲冲的把以前写好的程序也用新的版本编译了一遍,但是问题来了。

 以前写的图像处理的工具居然不支持jpeg格式了,很是奇怪。 搜索了一天得知问题出在这了:以前用的版本是4.3.3,这个版本好像一出来就支持jpeg格式,所以以前没有注意到这个问题。

现在这个4.6.1不支持了怎么办?

我们在帮助文档里可以找到答案:

To link statically against those plugins, you need to use the Q_IMPORT_PLUGIN() macro in your application and you need to add the required plugins to your build using QTPLUGIN. For example, in your main.cpp:

  1.  #include <QApplication> 
  2.   #include <QtPlugin> 
  3.    Q_IMPORT_PLUGIN(qjpeg)  
  4.    Q_IMPORT_PLUGIN(qgif)  
  5.    Q_IMPORT_PLUGIN(qkrcodecs)  
  6.    int main(int argc, char *argv[]) {  
  7.        QApplication app(argc, argv);  
  8.        ...      
  9.       return app.exec();  
  10. }  
  11. In the .pro file for your application, you need the following entry:  
  12.  QTPLUGIN     += qjpeg \   
  13.                  qgif \    
  14.                       qkrcodecs 

但是这样还是不行,编译工程的时候会出先

  1. undefined reference to `qt_plugin_instance_qgif()’  
  2. undefined reference to `qt_plugin_instance_qjpeg()’ 

等错误。

解决方法:在.pro中加入:

  1. LIBS += C:/Qt/4.3.3/plugins/imageformats/libqgif.a  
  2. LIBS += C:/Qt/4.3.3/plugins/imageformats/libqjpeg.a 

如果QT静态编译正确的话,你应该上面这个目录 下看到这两个文件libqgif.a和libqjpeg.a (据说以前的QT版本也可能是.lib或.o文件)

 对于VS项目呢,可以在项目属性页里的 连接器->输入->添加依赖项里把库文件添加进去就可以了!

完成!

小结:Qt库中添加插件的办法的内容介绍完了,希望本篇文章对你有所帮助!更多内容请参考编辑推荐!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-06-10 10:00:16

Qt 数据库 MySQL

2011-09-01 15:51:53

Qt插件VS 2010

2011-06-27 16:59:19

Qt 动态 插件

2011-08-30 14:25:06

QT数据库

2011-06-28 14:27:38

Qt Qt For Sym

2011-07-01 10:03:52

QT 数据库

2011-09-01 16:01:25

Qt插件

2011-06-27 17:24:37

Qt 插件

2011-09-01 14:04:45

QT Webkit插件

2011-06-14 11:48:38

Webkit QT

2011-07-04 18:02:29

QT Sqlite 数据库

2009-06-18 14:28:24

Eclipse中添加M

2011-06-23 18:37:02

Qt 数据库

2011-06-28 10:03:37

Qt OpenCV qmake

2011-06-24 09:13:30

QT SDL

2011-09-09 18:43:13

Qt Webkit浏览器

2011-07-05 18:04:45

QT Mysql

2011-06-24 14:17:58

Qt 容器类 QVector

2011-06-24 09:22:54

QT .pro文件 qmake

2011-07-01 14:06:57

Qt sqlite
点赞
收藏

51CTO技术栈公众号