Russian Qt Forum

Программирование => Общий => Тема начата: kilop от Август 17, 2013, 12:58



Название: подключение FreeImage в Qt (4.7)
Отправлено: kilop от Август 17, 2013, 12:58
Здравствуйте, с официального сайта скачал вариант для win32. Прописал пути LIBS и INCLUDEPATH в pro файле, при попытке использовать любую функцию в программе, она вылетает с "завершился с кодом -1073741515". В чем может быть проблема и как ее решить?


Название: Re: подключение FreeImage в Qt (4.7)
Отправлено: _Bers от Сентябрь 13, 2013, 21:58
Такое может быть, например, если библиотека 32 битная, а ваше приложение - 64 битное.

И да, кстати, а вас не смущает:

ilmthread\ilmthread.cpp(68): warning C4722: 'IlmThread::Thread::~Thread' : destructor never returns, potential memory leak
Выдержка кода:


выдержка кода из файла ilmthread.cpp
Код:
bool
supportsThreads ()
{
    return false;
}


Thread::Thread ()
{
    throw Iex::NoImplExc ("Threads not supported on this platform.");
}


Thread::~Thread ()
{
    throw Iex::NoImplExc ("Threads not supported on this platform.");
}


void
Thread::start ()
{
    throw Iex::NoImplExc ("Threads not supported on this platform.");
}
выдержка кода из файла ilmthread.h

Код:
class ILMTHREAD_EXPORT Thread
{
  public:

    Thread ();
    virtual ~Thread ();

    void    start ();
    virtual void  run () = 0;
    
  private:

    #if defined _WIN32 || defined _WIN64
  HANDLE _thread;
    #elif HAVE_PTHREAD
  pthread_t _thread;
    #endif

    void operator = (const Thread& t);  // not implemented
    Thread (const Thread& t);    // not implemented
};

Вы в курсе, да? Что нельзя кидать исключения из диструкторов. Это может наглухо положить все приложение.

Весьма некачественный код у библиотеки, надо сказать.
Есть повод подумать о том, что бы отказаться от её использования.