[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