qwt-6.1.0-> qmake -vQMake version 3.0Using Qt version 5.3.1 in /usr/lib/x86_64-linux-gnuqwt-6.1.0->qmake , qtcreator , qtdesigner 和 QT 的版本必须一致。要么是 QT4 ,要么就是 QT5, qtcreator是QT5特有的core,ui编译IDE,其中ui编辑会调用qtdesigner. 我的linux 中安装了QT4和QT 5.所以安装的时候出现了一些版本不兼容的问题,后来把版本一一统一后,问题就消除了。
x86_64-linux-gnu-> which qmake
/usr/bin/qmake
x86_64-linux-gnu-> l /usr/bin/qmake
lrwxrwxrwx 1 root root 39 Jul 4 13:46 /usr/bin/qmake -> /usr/lib/x86_64-linux-gnu/qt5/bin/qmake* // 设置成QT5的qmake.
x86_64-linux-gnu->
QT5:x86_64-linux-gnu-> /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -v
QMake version 3.0
Using Qt version 5.3.1 in /usr/lib/x86_64-linux-gnu
x86_64-linux-gnu->
QT4:x86_64-linux-gnu-> /usr/lib/x86_64-linux-gnu/qt4/bin/qmake -v
QMake version 2.01a
Using Qt version 4.8.6 in /usr/lib/x86_64-linux-gnu
x86_64-linux-gnu->
版本OK,没问题。进入qwt-6.1.0
cd qwt-6.1.0qmake qwt.pro
2) make:
如果出现这样的错误:Project ERROR: Unknown module(s) in QT: svg
很 有可能 qmake 版本不一致造成的。
如果出现这样的错误:qwt_plot_glcanvas.h:15:17: fatal error: qgl.h: No such file or directory
打开qwtconfig.pri , 屏蔽QwtOpenGL, 如:# QWT_CONFIG += QwtOpenGL如果出现这样的错误:Project ERROR: Unknown module(s) in QT: designer
3)make install编译完成后会在 designer/plugins/designer/ 目录下生成libqwt_designer_plugin.so这个动态库,这就是我们想要用到的插件。安装qttools5-dev:sudo apt-get install qttools5-dev*
三。qtcreator 加入libqwt_designer_plugin.so插件:make install 后 会在/usr/local 会生成qwt-6.1.0文件夹,文件夹下复制了qwt动态库、头文件、插件和说明文档等,如:
qwt-6.1.0-> ls
qwt-6.1.0-> ls -l plugins/designer/
doc/ features/ include/ lib/ plugins/
total 144K
-rwxr-xr-x 1 root staff 144K Jul 4 11:18 libqwt_designer_plugin.so* //插件
qwt-6.1.0->
把插件复制到QT5的安装目录下的plugins目录下:
四。使用qtcreator 使用qwt插件编写一个测试例子:sudo cp /usr/local/qwt-6.1.0/plugins/designer/libqwt_designer_plugin.so /usr/lib/x86_64-linux-gnu/qt5/plugins/designer
designer-> pwd
/usr/lib/x86_64-linux-gnu/qt5/plugins/designer
designer-> ls
libcontainerextension.so libqquickwidget.so libqwt_designer_plugin.so* libworldtimeclockplugin.solibcustomwidgetplugin.so libqwebview.so libtaskmenuextension.so
designer->
致此,在qtcreator 的Design下面就可以看到Qwt widgets的控件栏了。「
好了。运行成功。OK1)添加控件:
在工程的 ***.pro 文件开始添加
INCLUDEPATH += /usr/local/qwt-6.1.0/includeLIBS += -L/usr/local/qwt-6.1.0/lib -lqwt -Wl,-rpath,/usr/local/qwt-6.1.0/lib因为是动态库所以要加 -Wl,-rpath,/usr/local/qwt-6.1.0/lib , 运行的时候就会自动查找了。当然了,你也可以把lib的路径改成当前的,如果还觉得麻烦可以在前面我们编译QWT的时候,通过qmake 生成的Makefile,通过修改这一个Makefile来生成静态库,而不是libqwt.so。
F5运行一下: