[Coin-ipopt] Re: linking IPOPT in VC++ 6.0

Carl Damon Laird claird at andrew.cmu.edu
Tue Mar 21 13:32:12 EST 2006


We also tried compiling Ipopt 3.x with Visual Studio 6.0 (or 6.5) and had 
difficulty with the templates. Since upgrading to VS 7 was something we 
wanted to do anyway, we just upgraded and never investigated it much 
further.

I would stress that this was not a C# issue for us since we had no C# code 
at all. It was a problem with the template classes and MS VS 6.0

Anyway, this was probably not the response you wanted to hear. The 
template stuff that we use is really basic (no fancy specialization or 
anything) so I was surprised that MS VS 6.0 had troubles. Since MS VS 6.0 
was first released in 1998 we didn't really concern ourselves with 
supporting it.

Is there a strong reason not to upgrade Visual Studio?

Cheers,

Carl.


On Tue, 21 Mar 2006 damien at khubla.com wrote:

> Hi Guys,
>
> you can't build IPOPT 3.x under Visual Studio 6.  You'll get their famous
> "internal compiler error" on the templates.  I went through all sorts of
> hoops a few weeks ago trying to get this to work.  VS 6 doesn't have the
> latest round of template functionality from the C++ revisions, MS
> deliberately only put them into VS7 and higher to encourage people to
> upgrade.
>
> Damien
>
>> Hallo Michael,
>>
>> I'm copying your message to the mailing list, in case someone else reading
>> this has an idea...
>>
>>> Unfortunately we ran into some troubles, when we tried to install IPOPT
>>> along
>>> with Diffpack.
>>> The reason is that Diffpack is running under Windows using the Microsoft
>>> VC++
>>> 6.0
>>> compiler.
>>>
>>> As in the ipopt tarball there are just project files for
>>> VisualStudio.net we
>>> tried to
>>> - create the projects in our Visual Studio, compile & link
>>> - create the ipopt library in cygwin (which worked of course) and to
>>> link
>>> against this library in VS
>>> but failed in both cases, due to compilation problems in some template
>>> classes.
>>
>> If you try to hook up Ipopt using the C interface (not the C++ interface)
>> it might be easier.  As far as I know, there are ways to build
>> Windows-compatible DLLs in Cygwin (with dlltool or so?) and you cold
>> export the C intreface symbols, but I have to admid that I don't know yet
>> how to do that.  Using the C interface, you wouldn't have to deal with
>> templates etc.
>>
>>> So could you please tell me if there is a chance to compile and link
>>> IPOPT
>>> using MSVC++ 6.0?
>>> Or do you think the problems are caused by incompatibilities of C# and
>>> C++?
>>
>> I have no experience with C#, and our code is not written in C#, it is
>> standard C++.  However, I have never tried to build Ipopt with MSVC++ 6.0
>> yet.  If your other code is in C#, again, maybe using the C interface
>> makes it easier to link with Ipopt.  If that doesn't help, could you
>> please send some more details (to the mailing list) on what is going
>> wrong?
>>
>> Schoene Gruesse nach Erlangen,
>>
>> Andreas
>> _______________________________________________
>> Coin-ipopt mailing list
>> Coin-ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>>
>
>
> _______________________________________________
> Coin-ipopt mailing list
> Coin-ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>
>



More information about the Coin-ipopt mailing list