第一个C++调用Cplex程序

来源:互联网 发布:梯级水电站优化调度 编辑:程序博客网 时间:2024/06/07 15:25
从早上上班到下午硬生生被它给折磨了一天之后...

我决定将这个坑爹的使用过程给记录下来...

为将来的新手提供一点帮助...


系统:32位 windows7

平台:visual studio 2012

cplex版本:12.5.1


软件下载地址:https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=ESD-ILOG-OPST-EVAL&S_PKG=CRKZ7ML&S_TACT=101K806W&S_CMP=web_ibm_ws_ilg-opt_bod_cospreviewedition-ov&lang=en_US&cp=UTF-8


随手注册个账号就可以下载了...十分方便,90天试用期...完整版自己掏钱买吧!


一、默认安装:C:\Program Files(网上这个路径有问题...反正我暂时没有遇到....)

安装要是有问题我也没办法了..我是遇上could not create java virtual machine...的问题..一直没解决

只好换个快照(虚拟机就是方便)纯系统(很干净的那种)安装成功...

二、从这个坑爹路径中找一个Examples 出来....我找的是blend.cpp

          C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\cplex\examples\src\cpp

三、然后就是用VS2012创建一个空的win32项目,将blend.cpp导入进去啦...........

四、好的...现在开始进入坑爹的设置环节...

     1、将Debug改为Release版本...因为我们是生成一个可用的exe然后再调用cplex来求解..

如果是Debug版本是运行不了的...至少目前我是运行不了..

  2、项目-(右键)属性-配置属性-C/C++-常规-附加包含目录

C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\concert\include

C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\cplex\include

3、项目-(右键)属性-配置属性-C/C++-预处理器-预处理器定义

加上 IL_STD(不是IL_SDT哦!!!)

4、项目-(右键)属性-配置属性-C/C++-代码生成-运行库

多线程DLL(/MD)

5、项目-(右键)属性-配置属性-链接器-常规-附加库目录

C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\

cplex\lib\x86_windows_vs2012\stat_mda(太长要分段)

C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\

concert\lib\x86_windows_vs2012\stat_mda

6、项目-(右键)属性-配置属性-链接器-输入-附加依赖项

cplex1251.lib
ilocplex.lib
concert.lib

(当然,你可以根据需要设置更多...此乃后话!)

看到这你以为完了吗?不好意思...还没有!!!!

还有关键一步...

五、

1、C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\cplex\

bin\x86_win32

下的cplex1251.dll

2、C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\

concert\lib\x86_windows_vs2012\stat_mda

下的concert.lib(这个坑爹货坑了它爷爷好久....)

3、C:\Program Files\IBM\ILOG\CPLEX_Studio_Preview1251\

cplex\lib\x86_windows_vs2012\stat_mda

下的cplex1251.lib

ilocplex.lib

把这四个混蛋copy到你的项目目录下..如我的:

C:\win7\C++\CplexText_0.1\CplexText_0.1\Release


再不行您自个就慢慢琢磨吧...我是这样子做嘀.......

另外:友情链接:http://blog.sina.com.cn/s/blog_50c154510100r0nm.html

原创粉丝点击