(1)安装依赖库ipopt
直接使用命令行安装
sudo apt-get install coinor-libipopt-dev
安装完成后编译工程会报一个错误,可以通过如下操作修复:
sudo vim /usr/include/coin/IpSmartPtr.hpp
修改文件的预处理部分,如下内容(注释为修改部分的两条语句):
#define HAVE_CSTDDEF // 修改部分
#ifdef HAVE_CSTDDEF
# include <cstddef>
#else
# ifdef HAVE_STDDEF_H
# include <stddef.h>
# else
# error "don't have header file for stddef"
# endif
#endif
#undef HAVE_CSTDDEF // 修改部分
(2)安装casadi
直接参照官方文档安装即可:https://github.com/casadi/casadi/wiki/InstallationLinux
其中需要注意:
// cmake编译时不要使用教程上提供的“cmake -DWITH_PYTHON=ON ..”换成如下指令,否则会报can not load shared library "libcasadi_nlpsol_ipopt.so"
cmake -DWITH_IPOPT=true ..
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=RELEASE
make
sudo make install