Linux安装配置CGAL,OpenCV和Gurobi记录

安装Qt,查看当前的Qt版本,需要至少满足v5.12

qmake -v

安装CGAL,The Computational Geometry Algorithms Library (cgal.org)

CGAL v5.6.1:https://github.com/CGAL/cgal/releases/download/v5.6.1/CGAL-5.6.1.tar.xz

确保C++编译器和CMake构建工具

g++ —version
cmake —version
apt install cmake

下载CGAL版本,解压下载的文件,构建和安装CGAL

wget https://github.com/CGAL/cgal/releases/download/v5.6.1/CGAL-5.6.1.tar.xz
tar xf CGAL-5.6.1.tar.xz
cd CGAL-5.6.1/
mkdir build
cd build/
cmake ..
make
sudo make install

安装OpenCV

安装预编译版本

sudo apt install libopencv-dev

但是可能会报错:Unable to locate package libopencv-dev
这里介绍这种报错的一种通用解决办法:

例如我们使用命令sudo apt install package_name会报错linux无法定位E: Unable to locate package package_name

此时我们需要去Ubuntu的软件包网站查看当前软件包的适用版本Ubuntu – Ubuntu Packages Search
在keyword当中输入需要的软件包名字,点击搜索

在这里插入图片描述

我们会发现可用的软件包被存储在universe仓库中,因此需要添加额外的仓库,可选的仓库包括了universe和multiverse,以防万一我们可以都进行添加,此时libopencv-dev就可以正常安装

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt update

这里可能还需要安装一些依赖文件,为了防止后面出现编译错误或者opencv函数运行错误,这里都进行了安装

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg

而后从OpenCV官网Releases - OpenCV下载源码,这里需要下载OpenCV v4.0及其版本
下载sources的压缩包opencv-4.9.0.zip并解压

cd opencv-4.9.0
cd build

·····这里等等

安装Gurobi

下载Gurobiv9.5.2 Gurobi Software - Gurobi Optimization

解压

tar xvfz gurobi9.5.2_linux64.tar.gz 

由于所有的软件都安装在/opt/目录,所以将gurobi复制到opt中

sudo cp -r gurobi952/ /opt/

这里需要申请Gurobi的高校申请授权User Portal (gurobi.com)

此处注意**!!!中国地区需要填写申请表并附上学信网的在线学籍验证报告,发送到指定邮箱**help@gurobi.cn

然后邮箱会收到回信(回复非常之快~)得到grbgetkey xxxxxxxxxxxxxxxxxxx,这个授权码只能一机一用,有效期一年

此时回来linux中配置Gurobi的环境变量

export GUROBI_HOME="/opt/gurobi952/linux64"
export PATH="${PATH}:${GUROBI_HOME}/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
export GRB_LICENSE_FILE="/home/xxx/gurobi952/gurobi.lic"

注意这里不可以是root账户,还有记好这个License的路径,别忘了激活环境变量

然后进入到/opt/gurobi952/linux64/bin/
输入授权码grbgetkey xxxxxxxxxxxxxxxxxxx

在授权过程中需要你确认gurobi.lic的路径

激活完成后在/opt/gurobi952/linux64/下输入gurobi.sh测试是否成功,就大功告成啦~~~~

我在最后附一份Gurobi的操作指南:Gurobi的操作指南

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/13040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日复盘-20240515

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 国联证券 (1)|[9:25]|[133765万]|31.12 一…

基于Pytorch深度学习神经网络MNIST手写数字识别系统源码(带界面和手写画板)

第一步:准备数据 mnist开源数据集 第二步:搭建模型 我们这里搭建了一个LeNet5网络 参考代码如下: import torch from torch import nnclass Reshape(nn.Module):def forward(self, x):return x.view(-1, 1, 28, 28)class LeNet5(nn.Modul…

【数据结构】C++语言实现二叉树的介绍及堆的实现(详细解读)

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

分布式系统的一致性与共识算法(三)

顺序一致性(Sequential Consistency) ZooKeeper 一种说法是ZooKeeper是最终一致性,因为由于多副本、以及保证大多数成功的ZAB协议,当一个客户端进程写入一个新值,另外一个客户端进程不能保证马上就能读到这个值,但是能保证最终能…

【车载开发系列】SID$11服务配置

【车载开发系列】SID$11服务配置 前言 ECUReset(ECU重置),ECU作为Server端,执行Client发送来ECU Reset请求中重启的类型(通过子服务区分)。对于UDS协议关于处理该请求的逻辑,没有强制性定义。 Step1:SID和SubFunction的追加 BasicEditor→Dcm→DcmConfigSet→DcmDs…

vs2019 c++里用 typeid() . name () 与 typeid() . raw_name () 测试数据类型的区别

(1) 都知道,在 vs2019 里用 typeid 打印的类型不大准,会主动去掉一些修饰符, const 和引用 修饰符会被去掉。但也可以给咱们验证学到的代码知识提供一些参考。那么今天发现其还有 raw_name 成员函数,这个函…

AES分组密码

一、AES明文和密钥位数 RIJNDAEL 算法数据块长度和密钥长度都可独立地选定为大于等于 128 位且小于等于 256 位的 32 位的任意倍数。 而美国颁布 AES 时却规定数据块的长度为 128 位、密钥的长度可分别选择为 128 位, 192 位或 256 位 1.1 状态 中间结果叫做状态…

建模:3dmax

3Dmax 制作模型和动画(橘肉); RizomUV 对模型进行展UV(橘皮); Substance Painter 纹理手绘(给橘皮制定想要的皮肤); 1.基础 1.1可编辑多边形、可编辑样条线 体、面都需要…

Polylang Pro插件下载:多语言网站构建的终极解决方案

在全球化的今天,多语言网站已成为企业拓展国际市场的重要工具。然而,创建和管理一个多语言网站并非易事。幸运的是,Polylang Pro插件的出现,为WordPress用户提供了一个强大的多语言解决方案。本文将深入探讨Polylang Pro插件的功能…

暴力数据结构之二叉树(堆的相关知识)

1. 堆的基本了解 堆(heap)是计算机科学中一种特殊的数据结构,通常被视为一个完全二叉树,并且可以用数组来存储。堆的主要应用是在一组变化频繁(增删查改的频率较高)的数据集中查找最值。堆分为大根堆和小根…

什么是最大路径?什么是极大路径?

最近学习中,在这两个概念上出现了混淆,导致了一些误解,在此厘清。 最大路径 在一个简单图G中,u、v之间的距离 d ( u , v ) min ⁡ { u 到 v 的最短路的长度 } d(u,v) \min \{ u到v的最短路的长度 \} d(u,v)min{u到v的最短路的…

wefaf

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

每天Get一个小技巧:用DolphinScheduler实现隔几天调度

转载自tuoluzhe8521 这篇小短文将教会你如何使用Apache DolphinScheduler实现隔几天调度,有此需求的小伙伴学起来! 1 场景分析 DolphinScheduler定时器模块-定时调度时每3秒|每3分钟|每3天这种定时,不能够跨分钟,跨小时&#x…

【C++】:string类的基本使用

目录 引言一,string类对象的常见构造二,string类对象的容量操作三,string类对象的访问及遍历操作四,string类对象的修改操作五,string类非成员函数六,整形与字符串的转换 引言 string 就是我们常说的"…

如何对SQL Server中的敏感数据进行加密解密?

为什么需要对敏感数据进行加密? 近几年有不少关于个人数据泄露的新闻(个人数据通常包含如姓名、地址、身份证号码、财务信息等),给事发公司和被泄露人都带来了不小的影响。 许多国家和地区都出台了个人数据保护的法律法规&#…

Unity Animation--动画窗口指南(使用动画视图)

Unity Animation--动画窗口指南(使用动画视图) 使用动画视图 window -> Animation 即可打开窗口 查看GameObject上的动画 window -> Animation -> Animation 默认快捷键 Ctrl 6 动画属性列表 在下面的图像中,“动画”视图&am…

思科模拟器--2.静态路由和默认路由配置24.5.15

首先,创建三个路由器和两个个人电脑。 接着,配置两台电脑的IP,子网掩码和默认网关 对Router 0,进行以下命令: 对Router进行以下命令: 对Router2进行以下命令: 本实验完成。 验证:PC…

Vue3+ts(day06:路由)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学,可以点心心支持一下哈(笔记是根据b站上学习的尚硅谷的前端视频【张天禹老师】,记录一下学习笔记,用于自己复盘,有需要学…

【ARMv8/v9 系统寄存器 5 -- ARMv8 Cache 控制寄存器 SCTRL_EL1 使用详细介绍】

关于ARM Cache 详细学习推荐专栏: 【ARM Cache 专栏】 【ARM ACE Bus 与 Cache 专栏】 文章目录 ARMv8/v9 Cache 设置寄存器ARMv8 指令 Cache 使能函数测试代码 ARMv8/v9 Cache 设置寄存器 关于寄存器SCTRL_EL1 的详细介绍见文章:【ARMv8/v9 异常模型入…

西南大学计算机考研,选学硕还是专硕?西南大学计算机考研考情分析!

西南大学(Southwest University)是教育部直属,教育部、农业农村部、重庆市共建的重点综合大学,是国家首批"双一流"建设高校,"211工程"和"985工程优势学科创新平台"建设高校。现任党委书…