Ipopt 的一个小实例的编译

Ipopt 在linux系统中到安装和使用都是挺简单的。只要根据网站上步骤一步一步来就可以了。参考:

http://www.coin-or.org/Ipopt/documentation/node2.html


备注:我没用过mingw+msys ,本来想把ipopt安装在windows下的。结果作为菜鸟的我折腾了两天硬是没有编译成功。所以像我一样到菜鸟们还是用Linux节省下时间吧。想要学习的人除外。


接下来就是根据已有的实例hs071_cpp来创建自己的project了。

(1)假设你是在ipopt的安装文件主目录下建了build文件夹,并且在其中编译得到了编译文件。

(2)在YOUR_IPOPT_DIR/build/Ipopt/examples/ 下建一个文件夹,就叫WDS(water  distribution system)吧。

(3)拷贝hs071_cpp下的所有文件到你的目录WDS下(hs071_nlp.hpp hs071_nlp.cpp hs071_main.cpp Makefile )

 ( 4 ) 修改hs071的名字和实现来解决自己到问题。

(5) 修改Makefile。 如果使用了额外的library。请在ADDLIBS下添加lib path,在ADDINCFLAGS下添加该Library到include path


(6) 如果不幸的你遇到很多d字母开头的变量undefined。请在ADDLIBS后面添加:`cat YOUR_IPOPT_DIR/build/share/coin/doc/Ipopt/ipopt_addlibs_cpp.txt`  。 在CXXLINKFLAGS后面添加  -Wl,--no-as-needed


(7)  make 一下,编译应该是没问题了。

你可能感兴趣的:(WDS)