linux下安装c++图形库Matplot++,使得c++可以可视化编程;安装Matplot++之前,需要先安装一个gnuplot,因为Matplot++是依赖于此库
gnuplot下载链接:
http://www.gnuplot.info/
一、gnuplot下载与安装(可以跳过,下面源码安装,直接apt install gnuplot)
下面==gunplot
的安装步骤可以跳过,直接用apt包管理器安装==
step1.进入链接点击Release链接,如下图所示
step2. 选择tar.gz后缀文件,进行下载:
step3.下载成功后,cd
进入安装包的目录,然后使用tar
命令进行解压;
bash
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. 解压缩后进入此文件夹
bash
cd gnuplot-6.0.1
step5. 进入文件夹后,做一些依赖配置
bash
sudo apt install qtbase5-dev qtbase5-dev-tools libqt5svg5-dev qttools5-dev-tools
此命令安装一些依赖,包括qt5相关的一些工具,这里如果后面报错,可能是系统还缺乏其他依赖,可以再问下gpt,进行补充安装;
step6 .配置编译选项:
bash
./configure --prefix=/usr/local/gnuplot --with-qt=qt5
其中,--perfix
是设置安装路径,--with
是设置依赖
step 7. 编译,安装
首先使用make
命令进行编译
这里编译不通过可能是缺少依赖,具体缺少什么,可以自行检查;
然后再安装:
bash
sudo make install
step8. 配置环境变量
配置环境变量:
使用gedit打开.bashrc
bash
sudo gedit ~/.bashrc
在结尾加入下面环境变量设置并保存:
bash
# for gnuplot
export GNUPLOT=/usr/local/gnuplot
export PATH=/usr/local/gnuplot/bin:$PATH
export MANPATH=/usr/local/gnuplot/share/man/man1:$MANPATH
保存后记得刷新一下环境变量设置:
bash
source ~/.bashrc
然后可以用以下命令进行测试:
bash
which gnuplot
gnuplot--version
gnuplot
下面用which,出现路径则说明安装成功。
二、Matplot++下载配置
下载链接:
https://alandefreitas.github.io/matplotplusplus/
进入网址,下滑,点击download
按钮
链接会跳转到github,然后不要选择最新的,而是选择下面的1.2.0版本,因为这个版本有编译后的软件包,安装起来比较方便。
下载后安装Matplot++
首先,进入下载的目录,进行安装包解压,并进入解压后的文件夹;
bash
tar -xvzf Matplot++-1.2.0-Linux.tar.gz
cd Matplot++-1.2.0-Linux
会有两个文件
这两个文件内部都是直接已经编译好的,可以直接放到ubuntu的对应系统目录里,编译器便可以识别到。
bash
sudo mv ./include/matplot/ /usr/local/include/
sudo mv ./lib/* /usr/local/lib/
最后,要进行包含头文件,以及对CmakeList.txt的编写,以管理库依赖,C++包含:
cpp
#include "matplot/matplot.h"
这里这个头文件的写法,是因为,默认编译器会搜索到/user/loacal/include
这一层,这一层都是文件夹,比如matplot就在这层级,而matplot.h在matplot文件夹下,故要#include "matplot/matplot.h"
这样包含。
CMakeLists添加:
重点是以下几个命令的添加。
bash
find package(Matplot++REQUIRED)
if (TARGET Matplot++:matplot)
message(STATUS "**Matplot++found ***")
endif()
target link libraries(${PROJECT NAME}
PUBLIC
Matplot++:matplot)
完整的CMakeLists.txt文件为:
bash
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
按钮进行编译,点击左下角的运行按钮,便可以画出图。