[Coin-ipopt] Ipopt static library for native windows compiler

Andreas Waechter andreasw at watson.ibm.com
Wed Sep 15 08:35:22 EDT 2004

Hi Andreas,

(First of all, you were lucky that I happened to see your message among
those there were about to be deleted, because they were sent from an email
address that has not subscribed to the mailing list.  In order to avoid
that subscribers get spam messages, we only allow to post messages after
subscription.  I saw that you already subscribed, but with a different
email address...)

In principe, there is no technical reason (I believe) why one couldn't
build a Developer Studio project with the compilers that you list to
compile Ipopt.  The difficulty is that you would have to set the macros in
config.h and config_f.h according to those compilers.  Since I don't have
access to these compilers, I can't provide the configuration files for
those compilers.  Maybe someone else reading the list had success with

Have you tried to build a developer studio project in your environment?
The file README.Windows discusses which files you would have to include,
and which other things you have to consider.  For the configuration
include files config*.h that you might try first are in


I suggest that you just give it a try to build the developer studio
project.  It probably won't work on the first run, but maybe we can get
this working with joined forces.

With respect to Cygwin, I don't know if one can use libraries generated by
the GNU compilers together with native compilers, but I doubt it.  I think
it is possible to build a DLL containing Ipopt (or even Dfo) in Cygwin,
but then I think you have to be careful with the calling conventions (for
the functions for evaluating the objective function etc - those are
provided via function pointers - or EXTERNAL subroutines in Fortran).

As for the MKL library, it should be no problem to use it if you are able
to work with the Developer Studio, but again I'm not sure if you can mix
"native" Windows static libraries with Cygwin libraries.  On the other
hand, if you are using Ipopt within DFO, you are working with small
problems, so that I don't think you get any performance boost by using the
MKL library instead of netlib blas and lapack.

This is my humble assessment of the situation.  I know that some other
Ipopt users have tried to compile Ipopt with older Windows compilers, and
I think even with some success, but I'm not sure what they did.  Maybe
someone else reading the message has some ideas...?



On Tue, 14 Sep 2004, Andreas Joanni wrote:

> Dear Ipopt-Team,
> I was wondering if you would be so kind and help me with the following
> problems:
> I have Windows 2000 available with a Compaq Digital Fortran 6 and
> Microsoft Visual C++ 6.0 compiler. Furthermore, I have the current
> Cygwin environment with gcc and g77 and other necessary tools.
> What I would like to do is to produce a static Ipopt library that I can
> compile and link with Fortran code using Digital Fortran 6 in a pure
> Windows environment (actually, I want to produce a static Dfo library
> for Windows). Now, I learned from previous postings that compiling the
> Ipopt Fortran and C sources with Digital Fortran and Visual C++ manually
> won't work for some reasons.
> On the other hand, it was no problem to produce the libipopt.a library
> in the Cygwin environment with the gnu compiler and the -mno-cygwin
> option. However, I don't know how to convert the .a library into a .lib
> library that I can link with Digital Fortran object files. Is there a
> way to accomplish that?
> The second question is, I have the precompiled Intel MKL 7.0 for Windows
> libraries available, is there any possibility to include these instead
> of the reference implementations when using the Cygwin environment?
> Hopefully my questions are not beyond the scope of this mailing list.
> Thanks a lot and best regards,
> Andreas
> _______________________________________________
> Coin-ipopt mailing list
> Coin-ipopt at www-124.ibm.com
> http://www-124.ibm.com/developerworks/oss/mailman/listinfo/coin-ipopt

More information about the Coin-ipopt mailing list