linux安装eigen/osqp/osqp_eigen库

这篇具有很好参考价值的文章主要介绍了linux安装eigen/osqp/osqp_eigen库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

eigen,osqp,osqp-eigen库的安装


因为个人的需求:本人论文的车辆纵向控制算法为MPC算法,需要用到C/C++语言的二次规划求解器(OSQP)和矩阵运算库eigen。因此,在编写MPC代码之前,是需要在Linux下部署以下三个矩阵计算库
我没记错的话,osqp-eigen依赖于osqp库,osqp依赖于eigen库,建议安装顺序建议如下:
	 1.eigen
	 2.osqp
	 3.osqp-eigen

一、eigen-3.4.0库的安装

链接: eigen-3.4.0库下载地址
1.1 将下载好的eigen-3.4.0文件夹拷贝到主目录下,进入到eigen-3.4.0文件夹中,在当前路径下右键打开终端,并输入以下指令,完成eigen库的安装

//打开终端,进入/eigen-3.4.0文件夹,然后执行以下指令
mkdir build
cd build
cmake ..
sudo make install
//拷贝头文件到系统的用户头文件中,方便后期管理
sudo cp -r /home/qjj/eigen-3.4.0  /usr/local/include/eigen3  

我的eigen-3.4.0的绝对路径是/home/qjj/eigen-3.4.0,这里要换成你那边的绝对路径

二、osqp库的安装

链接: osqp库下载地址
2.1 将下载好的osqp文件夹拷贝到主目录/home,进入到下载好的osqp文件夹中,在当前路径下右键打开终端,并输入以下指令,完成osqp库的安装

//打开终端,进入osqp文件夹,然后执行以下指令
$ mkdir build   //然后创建build文件夹
$ cd build      //再进入build文件夹
$ cmake ..      //在build文件夹中进行编译
$ cmake .. -DCMAKE_INSTALL_PREFIT=usr/local/osqp
$ sudo make install
$ source ~/.bashrc  //刷新环境变量

三、osqp-eigen库的安装

链接: osqp-eigen库下载地址
将下载好的osqp-eigen文件夹拷贝到主目录/home,进入到下载好的osqp-eigen文件夹中,在当前路径下右键打开终端,并输入以下指令,完成osqp-eigen库的安装

//打开终端,进入osqp-eigen文件夹,然后执行以下指令
$ mkdir build       //然后创建build文件夹
$ cd build          //再进入build文件夹
$ cmake ..          //在build文件夹中进行编译
$ cmake .. -DCMAKE_INSTALL_PREFIT=usr/local/osqp-eigen
$ sudo make install
$ source ~/.bashrc  //刷新环境变量

四、测试这三个矩阵计算库是否配置完成

不出以外的话,基本会报错
测试代码链接:测试代码下载地址
注:该测试代码从该博主的文章中获得(感谢这位博主)。
那么获得该测试代码之后,怎么把它部署到自己的电脑上面呢?
首先我们先看该代码的cmakelist.txt文件

cmake_minimum_required(VERSION 3.0.2)
//工程名称
project(test)
//动态库路径
link_directories(
  /usr/local/lib 
  )
 //头文件路径
include_directories( include )
//生成的可执行程序名字
add_executable(testqjj  
               test.cpp  )
//需要连接到可执行文件testqjj的动态库
target_link_libraries(testqjj
                      libosqp.so  
                      libOsqpEigen.so 
                      libqdldl.so )

随后执行以下指令

//理论上,当下载好test_test文件夹后,执行以下指令,出现图一的计算结果,
//-说明这三个库安装配置完成,并可以使用
//-但是一般没这么顺利-------------哈哈哈哈哈哈哈哈哈哈
$ cd test_test    // 进入test_test文件夹
$ mkdir build       //然后创建build文件夹
$ cd build          //再进入build文件夹
$ cmake ..          //在build文件夹中进行编译
$ make 
$ ./testqjj               //运行当前文件夹下面的可执行程序testqjj

理论上来说,如果以上三个库都配置完成后,测试代码就可以正常编译,正常运行(如图1所示)
linux安装eigen/osqp/osqp_eigen库
图1
但是一般会报错,如图2所示。
linux安装eigen/osqp/osqp_eigen库图2

报错的原因,一般的都是osqp-eigen文件夹里面的头文件找不到osqp文件里面的头文件,如找不到osqp里面的头文件,只需要把osqp文件夹里面的头文件的绝对路径给加上去即可。如图3所示,第12行在原有的地址上,加上了osqp.h头文件的绝对路径。
linux安装eigen/osqp/osqp_eigen库
图3
**注意:在对系统里面的文件进行编辑的时候,要获取超管权限才可以对其进行编辑,否则只能看,不能写。我们都知道获取超级管理员的指令是:su。有时候“su”的时候会警告一些问题,这边建议您先输入以下指令:

//打开终端,然后执行以下指令
sudo passwd //然后按照指示输入你的开机密码,一般要输入两遍

然后再尝试su,获取超级管理员的权限。

一般的话,其他还需要添加文件绝对路径的地方,如下所示linux安装eigen/osqp/osqp_eigen库图4

linux安装eigen/osqp/osqp_eigen库图5
linux安装eigen/osqp/osqp_eigen库图6
linux安装eigen/osqp/osqp_eigen库图7
linux安装eigen/osqp/osqp_eigen库图8文章来源地址https://www.toymoban.com/news/detail-428265.html

到了这里,关于linux安装eigen/osqp/osqp_eigen库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包