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

damien at khubla.com damien at khubla.com
Mon Mar 27 11:29:36 EST 2006


One other thing.  Microsoft is giving away the Express edition of Visual
Studio for free until November, so you should be able to use the ipopt
project directly.  The Express edition has one language only, but that
won't stop you linking in libraries compiled in another language.

http://msdn.microsoft.com/vstudio/express/

Damien

> 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