[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