【工具】casadi在win10+vs2019下的部署和调用ipopt求解器

主要参考链接:

NLP非线性优化 - 古月居 (guyuehome.com)

Howto: Use CasADi in Cpp using Visual Studio - casadi/casadi GitHub Wiki (github-wiki-see.page)

一、安装Ipopt和CasADi

https://github.com/coin-or/Ipopt/releases/tag/releases%2F3.13.3中下载VS2019预编译的Ipopt-3.13.3-win64-msvs2019-md.zip,并解压。

之后下载https://github.com/casadi/casadi/archive/refs/tags/3.5.5.zip同样解压至同一目录。并在casadi-3.5.5/下创建一个run.txt添加如下代码,并将其后缀改成.bat。

@echo Must be run in a prompt context that defines vcvars.
@echo For example in 'x64 Native Tools Command Prompt for VS 2019'

cmake -G "Visual Studio 16 2019" -A x64 -B build -DWITH_IPOPT=ON -DIPOPT_LIBRARIES:FILEPATH="C:/xxx/tools/Ipopt-3.13.3-win64-msvs2019-md/lib/ipopt.dll.lib" -DIPOPT_INCLUDE_DIRS:PATH="C:/xxx/tools/Ipopt-3.13.3-win64-msvs2019-md/include/coin-or"  -DCMAKE_INSTALL_PREFIX:PATH="C:/xxx/tools/casadi-3.5.5"
cmake --build build --config Release
cmake --install build

把三个path路径改成自己对应放置的路径。

【注意】ipopt最好就用这个版本,我尝试过ipopt-3.14.10用同样的步骤配置失败。如果打不开可以在以下链接下载。

链接:https://pan.baidu.com/s/1y4SWLq8-GtiiY1W3_1usnw 
提取码:gevm 

在安装VS2019后使用Visual Studio 2019 Developer Command Prompt命令行模式,进入模拟的Unix环境,cd到CasADi目录下运行刚才的脚本run.bat则会进行编译,如果没有错误则会在其下面创建build目录,build/Release/里面有编译好的dll和lib。如果编译卡住就ctrl+C后重新编译。

 二、VS2019的配置

在安装好后只需要进一步配置VS2019。

选择项目->属性,配置为Release、平台为x64。

1.调试->环境

PATH=C:\xxx\tools\casadi-3.5.5\casadi;C:\xxx\tools\Ipopt-3.13.3-win64-msvs2019-md\bin;%PATH%

2.vc++目录

包含目录

C:\xxx\tools\eigen-3.4.0
C:\xxx\tools\casadi-3.5.5\casadi
C:\xxx\tools\casadi-3.5.5\casadi\include

 库目录

C:\xxx\tools\casadi-3.5.5\build\Release
C:\xxx\tools\casadi-3.5.5\casadi

3.C/C++->常规->附加包含目录

.\include
C:\xxx\tools\casadi-3.5.5
C:\xxx\tools\casadi-3.5.5\casadi\core
C:\xxx\tools\casadi-3.5.5\build\casadi\core\runtime
C:\xxx\tools\casadi-3.5.5\build

4.链接器->输入->附加依赖项

casadi.lib

三、测试

把casadi-3.5.5\docs\examples\cplusplus中的rocket_ipopt.cpp加入项目中。确保没有其他main函数后,编译运行即可。

 出现上述结果,casadi配置成功。

可以用来编写求解自己的问题了!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值