我想在一个在Linux系统上运行的Netbeans c ++(版本8.2)项目中使用cplex(版本12.7.1)。
我按照这里给出的建议:
对于c ++编译器:
Include-Directories: /opt/ibm/ILOG/CPLEX_Studio1271/concert/include;/opt/ibm/ILOG/CPLEX_Studio1271/cplex/include
Preprocessor Definitions: IL_STD
对于链接器:
Additional-Library-Directories: /opt/ibm/ILOG/CPLEX_Studio1271/cplex/lib/x86-64_linux/;/opt/ibm/ILOG/CPLEX_Studio1271/concert/lib/x86-64_linux/
Additional Linker Options: -lilocplex -lconcert
但是,我收到错误消息:
/usr/bin/ld: cannot find -lilocplex
/usr/bin/ld: cannot find -lconcert
我无法看到我在这里缺少的内容,如何让链接器找到相应的库?
答案 0 :(得分:1)
您列出的选项部分正确,但缺少一些重要信息。下面,我将使用<COSDIR>
来指明安装CPLEX Optimization Studio的目录(例如,上述示例中的/opt/ibm/ILOG/CPLEX_Studio1271/
)。
对于C ++编译器:
Include-Directories: <COSDIR>/cplex/include;<COSDIR>/concert/include
Preprocessor Definitions: IL_STD
对于链接器:
Additional-Library-Directories: <COSDIR>/cplex/lib/x86-64_linux/static_pic;<COSDIR>/concert/lib/x86-64_linux/static_pic
Additional Linker Options: -lconcert -lilocplex -lcplex -lm -pthread
这应该可以解决问题(确保你完全正确地使用这些路径)。
另一件值得尝试的事情如下:
cd <COSDIR>/cplex/examples/x86-64_linux/static_pic
make ilolpex1 2>&1 | tee output.txt
这将编译COS附带的ilolpex1 C ++示例,您将能够看到在您的计算机上成功编译所需的所有选项。