Russian Qt Forum
Сентябрь 23, 2024, 08:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: странности с сигналами и слотами в qt dll, разное поведение в debug и release  (Прочитано 3639 раз)
qtshnik
Новичок

Offline Offline

Сообщений: 9


Просмотр профиля
« : Март 20, 2013, 16:39 »

Имеется приложение, написанное на Qt и существующее в виде единого проекта в Visual Studio. Пытаюсь разделить этот проект на несколько проектов, чтобы каждый собирался в свою dll, а главный проект в exe. И тут возникает странная дилемма. Если собираю под Release, то все работает, как надо, без нареканий. А если под Debug, то возникает куча проблем. Во-первых, перестают соединяться сигналы из exe со слотами в dll. Во-вторых, не хотят работать сигналы dll, посылаемые слотам внутри dll: програма падает и выдает Access Violation. В-третьих, куда-то пропали русские буквы и заменились на кракозябры. В-четвертых, после вызова деструктора объектов, экспортируемых из dll и содержащих сигналы и слоты, программа падает снова с Access Violation. Наверное, этот список можно продолжать и удивляться. Настройки компилятора и линкера в Visual Studio проверил, они вроде адекватные. Что вообще происходит?
Записан
Bepec
Гость
« Ответ #1 : Март 20, 2013, 16:42 »

Ахз что происходит, ситуация у вас очень мутная и непонятна необходимость разбивки проекта на dll.
Записан
_OLEGator_
Гость
« Ответ #2 : Март 20, 2013, 16:49 »

Может dll релизные?
Записан
qtshnik
Новичок

Offline Offline

Сообщений: 9


Просмотр профиля
« Ответ #3 : Март 20, 2013, 17:04 »

Ахз что происходит, ситуация у вас очень мутная и непонятна необходимость разбивки проекта на dll.
Разбивка определяется тем, что это нужно в целях повторного использования в других приложениях. Но не в этом вопрос
Записан
qtshnik
Новичок

Offline Offline

Сообщений: 9


Просмотр профиля
« Ответ #4 : Март 20, 2013, 17:05 »

Может dll релизные?
Да, не, ну как они релизные будут, все же видно в Configuration Properties для solution'а - туда-то я точно посмотрел
Записан
Dancing_on_water
Гость
« Ответ #5 : Март 20, 2013, 17:41 »

Смотрите лучше что и как, ваши дебажные длл должны собираться с дебажными qt
Записан
qtshnik
Новичок

Offline Offline

Сообщений: 9


Просмотр профиля
« Ответ #6 : Март 20, 2013, 18:00 »

Смотрите лучше что и как, ваши дебажные длл должны собираться с дебажными qt
Да!!! В этом и есть дело. в AdditionalDependencies вместо QtCored4.lib стояло QtCore4.lib. Ошибка в одной букве так печальна! Спасибо большое!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 23.