【C++】Windows平台安装OSQP求解器

安装步骤

  • 1. 下载GCC和Cmake
  • 2. Git源码
  • 3. 创建二进制文件
  • 4. 生成库文件
  • 5. 包含头文件
  • 6. 测试
  • 7. 后记

写算法时,可能需要用到QP求解器去解决优化问题,在C++中OSQP库就是一个很好的QP求解器。

OSQP库可以在不同平台和不同语言中使用,可以到官网https://osqp.org/去查看相关文档,在此仅说明Windows平台C++的安装步骤。

1. 下载GCC和Cmake

按照官方文档中的安装说明,首先要安装GCC和Cmake去编译源码,如果安装了visual studio后并不需要GCC,但需要Cmake:
【C++】Windows平台安装OSQP求解器_第1张图片
Cmake在官网可以下Zip或者msi。Cmake在官网下载比较慢,腾讯软件中心有安装包,安装时记得创建GUI图标。
cmake-gui

2. Git源码

在Git Bash中输入

git clone --recursive https://github.com/oxfordcontrol/osqp

github比较慢,码云起飞:

git clone https://gitee.com/lihan123456/osqp.git

3. 创建二进制文件

  1. 创建一个build文件夹,然后在Cmake第一行where is the souce code中找到源码路径,在第二行where to build the binaries中选择build文件夹路径。
  2. 点击左下角Configure,第一栏选择编译器,我安装的是VS2019,第二栏是Debug平台,想生成64位就选x64(默认是x64),想生成32位的就选win32。
  3. 选下面的小圆点,用第一个编译器自带的就可以,不想用默认的就选gcc和g++,应该是要对应好位数:【C++】Windows平台安装OSQP求解器_第2张图片
  4. 如果选第二个小圆点,C和C++分别选择GCC安装路径/bin/gcc.exe和g++.exe,32位的就选w32的gcc和g++:
    【C++】Windows平台安装OSQP求解器_第3张图片
  5. 点Finish,提示Configuring done
  6. 点击Generate生成。
    【C++】Windows平台安装OSQP求解器_第4张图片

4. 生成库文件

  1. 在build文件夹内打开osqp.sln,右键ALL_BUILD生成。【C++】Windows平台安装OSQP求解器_第5张图片
    将会在 out\Debug 文件夹内生成静态库和动态库文件
  2. 两种方法使用lib和dll,先在 “ 项目->属性->链接器->附加依赖项 ” 中添加 osqp.lib 库名:
    a. 将lib和dll文件复制到项目同名的文件夹中,干脆就将 dll / exp / ilk / lib / pdb 等5个后缀的文件都复制了,省的报错或者调试问题
    b. 或在 “ 项目 -> 属性 -> VC++ -> 库目录 ” 中添加lib文件的路径
    【C++】Windows平台安装OSQP求解器_第6张图片

5. 包含头文件

项目 -> 属性 -> VC++目录 -> 包含目录 中添加源码文件夹中的include文件夹,注意不是build中。【C++】Windows平台安装OSQP求解器_第7张图片

6. 测试

测试一下官方代码能否解决QP问题,x64的库要将Debug平台改为x64,再进行编译。
结果如下:【C++】Windows平台安装OSQP求解器_第8张图片

7. 后记

Linux下比较好安装,Windows下配置环境着实让人有些抓狂,明明按照步骤做但有时候就会出错。

你可能感兴趣的:(【C++】Windows平台安装OSQP求解器)