error: iostream.h due to including cplex
Asked Answered
A

2

6

I am trying to use cplex in eclipse in Ubuntu 12.04 but when I include ilocplex.h I get the following error

/opt/ibm/ILOG/CPLEX_Studio124/concert/include/ilconcert/ilosys.h:360:22: fatal error: iostream.h: No such file or directory

The only two includes are written as follows:

#include <ilcplex/ilocplex.h>
#include <iostream>

I would appreciate if anyone could help me with this.

Abacus answered 14/3, 2014 at 16:57 Comment(0)
T
10

At the time ILOG's Concert library was first released, the older iostream.h headers were still common in C++ compilers, but it supports the standard iostream libraries. To use the standard headers and libraries, you need to define the IL_STD preprocessor symbol. Instructions for defining preprocessor directives in Eclipse/C++ can be found in this question.

Twofaced answered 17/3, 2014 at 15:22 Comment(1)
Thank you! I just want to point out that you don't need to specify any value when creating symbol IL_STDHrvatska
H
0

Try reading the manual again or look again at the samples. Cplex has supported both the old style iostream.h and the newer C++ iostream standard for at least a decade. I just don't have the manual with me right now to give the full reference.

Hifalutin answered 15/3, 2014 at 9:4 Comment(2)
Actually I didn't find a solution in this manual http://www-eio.upc.edu/lceio/manuals/cplex-11/pdf/refcppcplex.pdf but I tried adding -DIL_STD to the compiler options and defining #define IL_STD before including the file. Now the error is gone, but I am not able to use the classes such as IloEnv yet.Abacus
Finally I found the solution here: http://www.cristianonattero.com/blog/2012/05/18/cplex-in-c-using-eclipse-under-linux-ubuntu/ Thanks for your advice.Abacus

© 2022 - 2024 — McMap. All rights reserved.