ARM64交叉编译OSQP库

ARM64交叉编译OSQP库

准备工作

交叉编译

1.打开cmake图形界面

cmake有图形界面,WIN系统可以从开始界面找到。
在这里插入图片描述

2.配置编译

  • Where is the source code: 栏,寻找到OSQP的根目录。
  • 在OSQP根目录下,新建一个build文件夹。
  • Where to build the binaries: 栏,寻找到build文件夹的路径。
  • 点击configure,弹出如下窗口:

在这里插入图片描述

  • 如果是主机是WIN系统,选择MinGW Makefiles;如果是Linux系统,选择Unix Makefiles
  • 下面四个选项选择Specify options for cross-compiling
  • 点击Next,弹出窗口:

在这里插入图片描述

  • 填写Operating system 目标系统,如果目标没有系统,填写generic

  • Compilers C/C++ 填ARM交叉编译工具链的gcc和g++路径。

  • Target Root填工具链的根目录,其他都选Search only in Target Root

  • 点击Finish

  • 出现错误(缺少make的路径),点击Add EntryNameCMAKE_MAKE_PROGRAMTypeFILEPATHValuemake.exe(WINDOWS)的路径,点击OK

  • 这时会出现两个相同的CMAKE_MAKE_PROGRAM项目,有一个是空的,要再设置一次路径,不知道为什么。

  • 勾选Advanced
    在这里插入图片描述

  • 再次点击Configure,出现如下错误:

在这里插入图片描述

  • 需要将所有的值为CMAKE_XXX-NOTFOUND的关于编译链的条目能填的都填上,比如CMAKE_C_COMPILER_[…]CMAKE_CXX_COMPILER_[…] 之类的。
  • 添加项目CMAKE_TRY_COMPILE_TARGET_TYPE,类型为STRING,值为STATIC_LIBRARY
  • 点击Configure,如果输出Configuring done则成功。
  • 点击Generating,如果输出Generating done则成功。
    在这里插入图片描述

因为我是跑在板子上,所以有些东西不需要,去掉了一些勾选,如上图一样。

如需改动,可以把build文件夹清空,再重新Configure和Generating

接下来是对OSQP中的一些改动:

  • osqp\lin_sys\lib_handler.h,注释10-11行的两个linux头文件。
  • osqp\CMakeLists.txt,注释21-30行的操作系统相关,注释358-359行的osqp_demo相关。
  • osqp\lin_sys\CMakeLists.txt,注释16-21行linsys_lib_handler相关。
  • osqp\lin_sys\direct\qdldl\qdldl_sources\CMakeLists.txt,注释129-148行的qdldl shared library相关。参考
  • 在build文件夹中打开终端,输入cmake --build . 进行编译。

osqp\build\out中生成了libosqp.a静态库。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值