QWT编译与配置-Windows/Linux环境-程序员宅基地

技术标签: ui  开发工具  操作系统  

QWT编译与配置-Windows/Linux环境

QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件。本文使用基于LGPL版权协议的开源项目QWT的源代码和FFTW在Window 64bit/Linux环境下的Qt上进行编译,编译器使用MinGW-64bit版本。最终配置生成QWT的静态库文件和将qwt ui组件集成到QtCreator的Designer中。

QWT的源代码下载地址目录:https://sourceforge.net/projects/qwt/files/qwt/

请下载zip版本的源代码(我这里下载的是qwt-6.1.4.zip文件)

1 Windows环境

本文使用Window环境为:

系统: Windows 10 64bits

QtCreator版本: Qt5.12.1 / MinGW 64版本

a)解压qwt-6.1.4.zip文件到本地路径

解压qwt-6.1.4文件会发现该文件是一个基于Qt的工程文件,使用本地的QtCreator自帶的qt 命令行工具,分别编译release版本。

b) 切换到解压路径

810200-20190218185833049-304088395.png

C) 进行编译

c.1 更改配置文件

810200-20190218192314950-1425714082.png

win32 {
    QWT_INSTALL_PREFIX    = C:/Qwt-$$QWT_VERSION
    # QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION-qt-$$QT_VERSION
}

qmake qwt.pro

mingw32-make -j8

mingw32-make install

810200-20190218192016070-836250153.png

d) 配置QWT工作(关闭QtCreator)

拷贝工作:
d.1) 从 C:\Qwt-6.1.4\lib下拷贝libqwt.a和libqwtd.a 到 【qt安装路径\Qt5.12.1\5.12.1\mingw73_64\lib】文件夹下 。
d.2) 从 C:\Qwt-6.1.4\lib下拷贝qwt.dll和qwtd.dll 到 【qt安装路径\Qt5.12.1\5.12.1\mingw73_64\bin】文件夹下
d.3) 从 C:\Qwt-6.1.4\plugins\designer下拷贝qwt_designer_plugin.dll 到 【qt安装路径\Qt5.12.1\5.12.1\mingw73_64\plugins\designer】文件夹下 。

d.4) 在 【qt安装路径\Qt5.12.1\5.12.1\mingw73_64\include】文件夹下新建Qwt文件夹,并将C:\Qwt-6.1.4\include此文件夹下所有内容拷贝到刚才新建的Qwt文件夹内。

over#

810200-20190218194818011-1151965753.png

2 Linux環境

本文使用的Linux環境爲:

系統: Manjaro KDE 64 bit版本gcc version 8.2.1 20181127 (GCC)

Qt版本: Qt5.12.1

a) qwt的編譯

a) 使用unzip命令解压qwt-6.1.4文件会发现该文件是一个基于Qt的工程文件,使用Linux的終端命令對QWT進行編譯。

b) 切換到安裝目錄,檢查qwtconfig.pri文件,查看最終make install 路徑是否是你想要設定的路徑,我這裏使用默認的路徑。

c) qmake qwt.pro

d) make -j8

e) sudo make install 如果路徑是root下的,則需要使用sudo。

最終qwt會在/usr/local/qwt-6.1.4創建所有的開發用的文件。

b) qwt的配置

b.1) sudo cp /usr/local/qwt-6.1.4/lib/* qt安裝路徑/Qt5.12.1/5.12.1/gcc_64/lib

b.2) 在qt安裝路徑/Qt5.12.1/5.12.1/gcc_64/include 創建Qwt文件夾mkdir Qwt

sudo cp /usr/local/qwt-6.1.4/include/* qt安裝路徑/Qt5.12.1/5.12.1/gcc_64/include/Qwt

b.3) sudo cp /usr/local/qwt-6.1.4/plugins/designer/libqwt_designer_plugin.so qt安裝路徑/Qt5.12.1/5.12.1/gcc_64/plugins/designer/

完成designer的組件支持。

c) 配置環境變量

sudo vim /etc/profile

在尾部追加:

export LD_LIBRARY_PATH=/usr/local/qwt-6.1.4/lib:$LD_LIBRARY_PATH
export CPLUS_INCLUDE_PATH=/usr/local/qwt-6.1.4/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=/usr/local/qwt-6.1.4/include:$C_INCLUDE_PATH

810200-20190219090820003-230756843.png

over#

转载于:https://www.cnblogs.com/sigma0/p/10397483.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30624825/article/details/96272160

智能推荐

cpd点云配准算法 论文理解以及使用问题分析-程序员宅基地

文章浏览阅读2.5k次。日期:2021/12/26【说明:对概率相关知识要求较高,读起来费劲的很,网上资料比较少,而且众说纷纭,前前后后花费了三天时间才理解个差不多,或许仍然存在一些理解错误的地方(捂脸),如果有不当的地方,烦请不吝赐教(鞠躬)。】CPD论文理解混合高斯模型本文将两个点集的对齐看作一个概率密度估计问题,其中一个点集代表混合高斯模型的形心,另一个代表数据。优化的过程中,两个点集对齐,对于一个给定数据点使用GMM后验概率的最大值获得对应关系。cpd算法的核心是让混合高斯模型的形心作为一个组一起移动,以此来保持点_cpd点云配准

研发管理人员能力维度_研发管理能力-程序员宅基地

文章浏览阅读3.8k次,点赞4次,收藏14次。成本意识 1. 是否关注能效。人均产出/积累如何。 规划能力 1. 是否能站在事业部角度清晰合理规划本组方向,提出有建设性意见。 组织协调能力 1. 协调各小组/部门,确保问题高效解决,高质量落地。 创新能力 1. 在小组/部门发展上能提出创新建议。 2. 在团队管理上能提出一些创新方法,并能切实有效落地,提升管理效能。 3. 在技术方案/问题解决上..._研发管理能力

mac cocos2dx android-程序员宅基地

文章浏览阅读988次。localhost:proj.android mxhd4$ ./build_native.sh NDK_ROOT = /Users/mxhd4/Movies/android-ndk-r9cCOCOS2DX_ROOT = /Users/mxhd4/Movies/2.0.4/cocos2d-2.0-x-2.0.4/test_cocos2dx_mac/proj.android/../..AP

判断两个字符串是否互为变位词-程序员宅基地

文章浏览阅读1.1k次。看了个算法题目,觉得有趣,就换成了java版本的。 原文地址:blog.csdn.net/ns_code/article/details/21409663 题目: Write a method to decide if two strings are anagrams or..._互为变位词

(文档)Shader.Find (在编译时,只包含那些使用中的shader或位置在"Resources"文件夹中shader)...-程序员宅基地

文章浏览阅读103次。Shader.Find 查找static functionFind(name: string) : ShaderDescription描述Finds a shader with the given name.查找名为name的着色器。Shader.Findcan be used to switch to another shader without having ...

微信开发小程序_小程序textarea bindinput-程序员宅基地

文章浏览阅读783次。1、注册页面对于小程序中的每个页面,都需要在页面对应的js文件中进行注册,指定页面的初始数据、生命周期回调、事件处理函数等。使用Page构造器注册页面简单的页面可以使用Page()进行构造。Page({ data:{ text:"This is page data." }, onload:function(options){//页面创建时执行}, onShow:function(){//页面出现在前台时执行}, onReady:function(){//页面首次渲染完毕时执行}, o_小程序textarea bindinput

随便推点

从 leveldb 到分布式 kv 存储系统_leveldb 分布式-程序员宅基地

文章浏览阅读5k次。目录LevelDBRocksDB : enhanced LevelDBFeaturesRocksDB Features that are not in LevelDB一些基于 LevelDB/RocksDB 的 kv 存储系统Pika - 360整体架构线程模型pika blackwidow引擎数据存储格式Hash结构的存储Tair - 阿里巴巴存储引擎Version支持分布式策略config s..._leveldb 分布式

python如何优雅地在命令行传入参数?sys,argparse,click使用_python 优雅传参-程序员宅基地

文章浏览阅读1.3k次,点赞3次,收藏5次。sys,argparse,click在python命令行参数传递的应用_python 优雅传参

Python中的幸存者实体提取和网络图-程序员宅基地

文章浏览阅读364次。During the lockdown, I watched and re-watched copious amounts of television. I turned around and saw that people were *gasp* learning new skills. So it occurred to me — why not combine the two for som..._python entity_extract

DB2查询表注释和列注释-程序员宅基地

文章浏览阅读6.3k次,点赞3次,收藏19次。--查看表中表注释SELECTVARCHAR(TABSCHEMA,10)ASTABSCHEMA,--模式名VARCHAR(TABNAME,50)ASTABNAME,--表名..._db2查询表名和表注释

Fabric1.4 Raft单机部署详解(一)-程序员宅基地

文章浏览阅读2.3k次,点赞7次,收藏20次。一、前言请确保预先安装好相关环境,其中包括Golang13.12、docker相关、Fabric编译好的执行文件相关文件已上传CSDN,可前往下载:Fabric1.4.8配置文件-Raft本文联盟链搭建的结构是:3orderer(raft)+4peer(2org)+2ca多机部署请参考:Hyperledger Fabric Raft排序多机部署二、系统初始化创建目录:# 创建工作目录mkdir scoreDapp#把编译好的Fabric执行文件移动到该目录cp ../fabric-sam

java数据结构之单链表逆置算法_单链表的逆置java-程序员宅基地

文章浏览阅读4.7k次,点赞2次,收藏13次。单链表逆置算法1设计思想:在链表类中新加成员方法getNode(int i),用来获取指定位置的节点,新建一个空单链表,将原链表的每个节点按照从后往前的顺序依次取出,再把节点的数据依次添加到新的链表中。public Node getNode(int i)//获取指定位置的节点 { Node curr; curr=this.head.getNext......_单链表的逆置java