当前位置: 首页 > article >正文

ubuntu系统下,c++图形库Matplot++配置

linux下安装c++图形库Matplot++,使得c++可以可视化编程;安装Matplot++之前,需要先安装一个gnuplot,因为Matplot++是依赖于此库
gnuplot下载链接:
http://www.gnuplot.info/

一、gnuplot下载与安装

step1.进入链接点击Release链接,如下图所示

在这里插入图片描述

step2. 选择tar.gz后缀文件,进行下载:

在这里插入图片描述

step3.下载成功后,cd进入安装包的目录,然后使用tar命令进行解压;
tar -zxvf gnuplot-6.0.1.tar.gz

tar -zxvf 是用于解压 .tar.gz 格式压缩包的常用命令,其中每个参数的含义如下:

  • -z:通过 gzip 进行解压缩。.tar.gz 文件是先用 tar 进行打包,然后用 gzip 压缩的。
  • -x:解压文件(extract)。
  • -v:显示解压过程中的文件列表(verbose)。
  • -f:指定要操作的文件(file)。这个选项需要紧跟在压缩文件名之前。
step4. 解压缩后进入此文件夹
cd gnuplot-6.0.1
step5. 进入文件夹后,做一些依赖配置
sudo apt install qtbase5-dev qtbase5-dev-tools libqt5svg5-dev qttools5-dev-tools

此命令安装一些依赖,包括qt5相关的一些工具,这里如果后面报错,可能是系统还缺乏其他依赖,可以再问下gpt,进行补充安装;

step6 .配置编译选项:
./configure --prefix=/usr/local/gnuplot --with-qt=qt5

其中,--perfix是设置安装路径,--with是设置依赖

step 7. 编译,安装

首先使用make命令进行编译
在这里插入图片描述
这里编译不通过可能是缺少依赖,具体缺少什么,可以自行检查;

然后再安装:

sudo make install
step8. 配置环境变量

配置环境变量:
使用gedit打开.bashrc

sudo gedit ~/.bashrc

在结尾加入下面环境变量设置并保存:

# for gnuplot
export GNUPLOT=/usr/local/gnuplot
export PATH=/usr/local/gnuplot/bin:$PATH
export MANPATH=/usr/local/gnuplot/share/man/man1:$MANPATH

保存后记得刷新一下环境变量设置:

source ~/.bashrc

然后可以用以下命令进行测试:

which gnuplot
gnuplot--version
gnuplot

下面用which,出现路径则说明安装成功。
在这里插入图片描述

二、Matplot++下载配置

下载链接:
https://alandefreitas.github.io/matplotplusplus/
在这里插入图片描述
进入网址,下滑,点击download按钮
download
链接会跳转到github,然后不要选择最新的,而是选择下面的1.2.0版本,因为这个版本有编译后的软件包,安装起来比较方便。
在这里插入图片描述

下载后安装Matplot++

首先,进入下载的目录,进行安装包解压,并进入解压后的文件夹;

tar -xvzf Matplot++-1.2.0-Linux.tar.gz
cd Matplot++-1.2.0-Linux

会有两个文件
在这里插入图片描述
这两个文件内部都是直接已经编译好的,可以直接放到ubuntu的对应系统目录里,编译器便可以识别到。

sudo mv ./include/matplot/  /usr/local/include/
sudo mv ./lib/*   /usr/local/lib/

最后,要进行包含头文件,以及对CmakeList.txt的编写,以管理库依赖,C++包含:

#include "matplot/matplot.h"

这里这个头文件的写法,是因为,默认编译器会搜索到/user/loacal/include这一层,这一层都是文件夹,比如matplot就在这层级,而matplot.h在matplot文件夹下,故要#include "matplot/matplot.h"这样包含。

CMakeLists添加:
重点是以下几个命令的添加。

find package(Matplot++REQUIRED)
if (TARGET Matplot++:matplot)
message(STATUS "**Matplot++found ***")
endif()
target link libraries(${PROJECT NAME}
PUBLIC
Matplot++:matplot)

完整的CMakeLists.txt文件为:

cmake_minimum_required (VERSION 3.10)
project(test)
set(CMAKE_CXX_STANDARD 11)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)

find_package(Matplot++ REQUIRED)
if (TARGET Matplot++::matplot)
message(STATUS "**Matplot++found**")
endif()
add_executable(matplottest test.cpp)

target_link_libraries(matplottest
PUBLIC
Matplot++::matplot
)

然后,Matplot++的官网有很多示例,可以学习使用;
https://alandefreitas.github.io/matplotplusplus/

在这里插入图片描述

下面是自己的文件结构:
在这里插入图片描述
然后点击左下角的build按钮进行编译,点击左下角的运行按钮,便可以画出图。

在这里插入图片描述


http://www.kler.cn/news/324005.html

相关文章:

  • 深度学习(3):Tensor和Optimizer
  • 求职Leetcode题目(11)
  • 如何使用C语言接入Doris数据库
  • 线性表二——栈stack
  • 微信小程序开发系列之-在微信小程序中使用云开发
  • How to install JetBrains ToolBox in Ubuntu 22.04 LTS?
  • ELK-03-skywalking监控linux系统
  • JAVA JDK华为云镜像下载,速度很快
  • AIGC入门:Comfyui整合包,解压即用!
  • Goweb---Gorm操作数据库(二)
  • project_object_model_3d
  • ES6中迭代器与生成器知识浅析
  • Python知识点:如何使用Python与.NET进行互操作(IronPython)
  • ubuntu 安装harbor
  • 解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
  • HI3520DV510 22AP80/SS522V100 芯片及开发板
  • 认识 Linux操作系统
  • 新疆交投路桥桥梁公司:向“新”求“质”,积蓄发展新势能
  • Tkinter制作登录界面以及登陆后页面切换(一)
  • Linux 基本指令的学习
  • 【深度学习】03-神经网络 3-3 梯度下降的优化方法-动量算法Momentum
  • mysql数据库sql语句总结
  • 综合业务区的数字化创新与智能化蓝图
  • GitLab CI/CD脚本入门
  • 04_OpenCV图片缩放
  • 先进制造aps专题二十六 基于强化学习的人工智能ai生产排程aps模型简介
  • Oracle 数据库安装和配置指南(新)
  • 进阶SpringBoot之分布式系统与 RPC 原理
  • 数据结构:成员运算符(.)+ 指向运算符(->)
  • 创建javaWeb项目(详细版本)2021年2月