[Coin-ipopt] A problem using IPOPT with QT library

Carl Damon Laird claird at andrew.cmu.edu
Wed Jul 5 17:59:00 EDT 2006


Hi Yang Liu,

How did you compile the ipopt static library?

As well, there should be a visual studio project in the Windows directory 
of the Ipopt distribution which might help with this integration.

Cheers,

Carl.

On Thu, 6 Jul 2006, Yang Liu wrote:

> Dear Andreas,
>
> Thanks your reply.
>
> I found it is not the problem of QT,  I also tried IPOPT in Windows-MFC 
> program,
> i.e.  Use visual studio to create a MFC program or a general Win32
> program,  but not a console program.  I found IPOPT cannot work if I
> linked the static library.
>
> Currently I add all the IPOPT source into my project,  it works well.
>
> So I want to know whether someone has integrated IPOPT into their
> program (not a console problem) by linking IPOPT library.
>
> Thanks.
>
> Best,
>
> Yang Liu
>
> On 7/6/06, Andreas Waechter <andreasw at watson.ibm.com> wrote:
>> Hi Yang,
>> 
>> I have no experience with QT, and I don't know why the contructor would
>> fail.  Maybe someone else reading this mailing list has an idea?
>> 
>> Andreas
>> 
>> On Tue, 4 Jul 2006, Yang Liu wrote:
>> 
>> > Dear all,
>> >
>> > Does anyone use IPOPT in QT(Trolltech QT GUI library) program?
>> >
>> > My program always failed in the constructor of IpoptApplication.
>> >
>> > I traced back to ipipoptapplication.cpp,  and I found the variables
>> > jnlst_, options_  are not created by new operator.
>> >
>> > IpoptApplication::IpoptApplication(bool create_console_out)
>> >     :
>> >     jnlst_(new Journalist()),
>> >     options_(new OptionsList()),
>> >     statistics_(NULL),
>> >     alg_(NULL),
>> >     nlp_adapter_(NULL)
>> >
>> >
>> > The problem only occurs in QT environment.
>> >
>> > The following is my main code.
>> >
>> > 
>> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>> > #include <QtGui/QApplication>
>> > #include "qtest.h"
>> > #include "IpIpoptApplication.hpp"
>> > #include "IpSolveStatistics.hpp"
>> > #include "MyNLP.hpp"  //The example from Itopt library using namespace 
>> Ipopt;
>> >
>> > int main(int argc, char *argv[])
>> > {
>> >
>> >       // Create an instance of your nlp...
>> >       SmartPtr<TNLP> mynlp = new MyNLP();
>> >
>> >       // Create an instance of the IpoptApplication
>> >               //The program failed here
>> >       SmartPtr<IpoptApplication> app = new IpoptApplication();
>> >               // Initialize the IpoptApplication and process the options
>> >       app->Initialize();
>> >
>> >       ApplicationReturnStatus status = app->OptimizeTNLP(mynlp);
>> >
>> >
>> >   QApplication a(argc, argv);
>> >   qtest w;
>> >   w.show();
>> >   a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
>> >   return a.exec();
>> > }
>> >
>> > 
>> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>> >
>> > Many thanks.
>> >
>> >
>> > Best regards,
>> >
>> > Yang Liu
>> > PhD Candidate
>> > Department of Computer Science,
>> > The University of Hong Kong
>> > _______________________________________________
>> > 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