一次成功流水账-qpOASES安装和使用

qpOASES是一个解qp问题的优化库,MIT cheetah系列就使用该库解MPC

步骤

1. qpOASES安装,cmake编译安装版本的,用的不是官方版。

2. cmake组织工程,编译,运行。

# 下载
$ git clone https://github.com/coin-or/qpOASES.git
# 或者是直接下载压缩包解压
$ mkdir build
$ cd build
$ cmake ..
$ sudo make
$ sudo make install

查看/usr/local/include目录下是否有qpOASES.hpp文件

查看/usr/local/lib目录下是否有libqpOASES.a的库文件

确认无误后

cd ~
mkdir qptest
cd qptest
touch example1.cpp
touch CMakeLists.txt

CMakeLists.txt文件主要负责编译,比较重要。example1.cpp文件可以从下载的包的例子目录中拷贝过来。头文件使用

include

CMakeLists.txt文件内容

cmake_minimum_required(VERSION 3.16)

project(qp_solution)

set(CMAKE_CXX_FLAGS "-std=c++11")

link_directories("/usr/local/lib")
include_directories("/usr/local/include")


add_executable(example example1.cpp)
target_link_libraries(example libqpOASES.a)

然后编译运行

mkdir build && cd build
cmake ..
make
./example

参考博客:

qpOASES安装并试用 - 知乎

链接安装的外部库找不到时,一个是查看是否已经安装,并查看是否放到正确的目录下面。

使用${EXTRA_LIBS}变量自动会搜索"/usr/local/lib"或“/usr/lib/”路径下的.so库或者软连接。找不到库时,可以使用软连接将库文件放到这些目录下。

比如:

sudo ln -s /home/user/laikago_sdk/lib/liblaikago_comm.so  /usr/lib/

设置EXTRA_LIBS变量

set(EXTRA_LIBS -pthread liblaikago_comm.so lcm)

打印下变量的路径内容

message("print:"${EXTRA_LIBS})

你可能感兴趣的:(四足机器人,linux)