分享

error: QDesignerCustomWidgetInterface: No such file or directory

 昵称14129940 2013-12-03

最近在网站上下载了QMeter控件,想添加到QT Designer中,

链接如下:http:///content/show.php/QMeter?content=72850

下载编译:

sudo qmake -project

sudo qmake

sudo make

报错:

qmeterplugin.h:26:42: error: QDesignerCustomWidgetInterface: No such file or directory

第一次操作QT添加控件,一筹莫展,到网上搜索解决办法:

在官网上找到了用户工具插件例子说明

http://doc.qt./latest/designer-customwidgetplugin.html

 

Since custom widgets plugins rely on components supplied with Qt Designer, the project file that we use needs to contain information about Qt Designer's library components:

TEMPLATE    = lib
CONFIG      += designer plugin

 

就是说我们用到的工程文件需要包含QT Designer的库元件信息,

便打开了QMeter052.pro文件

sudo gvim QMeter052.pro

添加

TEMPLATE += app lib
CONFIG      += designer plugin

再次编译

sudo make

成功!

 

解释一下上面的两句话

TEMPLATE += lib
CONFIG      += designer plugin

变量TEMPLATE的值lib使qmake创建一个用户工具库,待会儿我们会用一个宏Q_EXPORT_PLUGIN2()导出这个工具的相关信息确保这个工具会作为一个插件被QT识别。

CONFIG变量包含两个值:designer和plugin:

  • designer:由于用户工具插件依赖于QT Designer提供的元件,这个值确保这个插件与QT Designer库(libQtDesigner.so)连接;
  • plugin:确保qmake把这个用户工具看做一个插件库;

用ARM交叉编译器编译自定义插件时也会报这个错误,原因是QtDesigner不是开源的,所以ARM的库中不包含

libQtDesigner.so文件。

解决办法:

第一步:拷贝头文件

$ cp -r ~/qtsdk-2010.05/qt/include/QtDesigner  /usr/local/Trolltech/QtEmbedded-4.7.3-arm/include/QtDesigner

第二步:创建libQtDesigner.so文件

随便在/usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib 文件夹下创建一个libQtDesigner.so文件;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多