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) 切换到解压路径

C) 进行编译

c.1 更改配置文件

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

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#

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

over#

最新文章

  1. mysql下mysqladmin日常管理命令总结
  2. React组件
  3. 在虚拟机发布网站,设置服务器外网访问ip端口号
  4. ADO.NET 快速入门(六):读写 XML
  5. CSS3美化表单 移动端可用
  6. Chapter 17_2 备忘录函数
  7. Mycat 分片规则详解--取模范围分片
  8. mssql sqlserver 不固定行转列数据(动态列)
  9. Web Of Science
  10. box-sizing 和 dom width
  11. GAN 教程记录
  12. ORA-02049: 超时: 分布式事务处理等待锁
  13. 转载:centos安装redis
  14. Android自定义控件进阶-打造Android自定义的下拉列表框控件
  15. android studio 布局
  16. git之合并分支(git merge)------(三)
  17. 请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。 echo "zhaokang";echo "zhaokang"
  18. Unix系统编程()复制文件描述符
  19. PTC介绍
  20. 事件代理总结: 已经有一些使用主流类库的事件代理示例出现了,比如说jQuery、Prototype以及Yahoo! UI。你也可以找到那些不用任何类库的例子,比如说Usable Type blog上的这一个。一旦需要的话,事件代理将是你工具箱里的一件得心应手的工具,而且它很容易实现。

热门文章

  1. 使用jQuery操作input的value值
  2. Windows+linux命令大集合
  3. 使用matlab对图像进行傅里叶变换
  4. dba_tables、all_tables、user_tables
  5. form表单上传文件
  6. Java中Class类及用法
  7. $.ajax方法success方法窗口弹不出
  8. 【noip模拟赛 sword,zero,2048】 题解
  9. HIDU 2094
  10. UITableViewCell在重用ID时为何加上Static关键字