Название: конфликт между QPaintDevice и QApplication Отправлено: StogovOleg от Сентябрь 16, 2009, 00:33 Мой проект состоит из исполняемого файла и моих же библиотек. На компьютере где собираю проект все работает.
Беру библиотеки и исполняемый файл и переношу на другой комп. При запуске исполняемого файла система выдает что-то типа "QPaintDevice : error QApplication must construct before QPaintDevice". Переношу исходники на ту же машину, собираю - и все начинает работать. В чем причина такого поведения? Qt 3.3.3 + Linux Название: Re: конфликт между QPaintDevice и QApplication Отправлено: pastor от Сентябрь 16, 2009, 00:44 Покажи код где создается QApplication.
QApplication должен следовать перед созданием гуя. Должно быть что-то вроде такого: Код
Название: Re: конфликт между QPaintDevice и QApplication Отправлено: Makss от Сентябрь 16, 2009, 07:59 на обоих машинах одна и та же версия Qt стоит?
Название: Re: конфликт между QPaintDevice и QApplication Отправлено: StogovOleg от Сентябрь 17, 2009, 10:39 на обоих машинах все версии ПО одинаковы
в функции main(...) объект QApplication создается первым, до него ничего нет еще раз напоминаю если перенести бинарники, то программа не запускается, а в консоль пишет эту ошибку, а если перенести исходники(главного проекта и библиотек) и скомпилировать все на машине, то все работает ??? Название: Re: конфликт между QPaintDevice и QApplication Отправлено: StogovOleg от Сентябрь 17, 2009, 10:44 Есть библиотеки, которые статически линкуются к проекту, в некоторых есть свой GUI (не все библиотеки разработаны нами, используем сторонние продукты), скорее всего из-за них. Тогда понятно почему вперед QApplication может создаваться QPaintDevice, ведь их код отрабатывается раньше, чем доходим до функции main(...). Или я не прав? Но почему после компиляции исходников проблема пропадает?
|