![]() |
|
|
![]()
|
|
| qtshnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Имеется приложение, написанное на Qt и существующее в виде единого проекта в Visual Studio. Пытаюсь разделить этот проект на несколько проектов, чтобы каждый собирался в свою dll, а главный проект в exe. И тут возникает странная дилемма. Если собираю под Release, то все работает, как надо, без нареканий. А если под Debug, то возникает куча проблем. Во-первых, перестают соединяться сигналы из exe со слотами в dll. Во-вторых, не хотят работать сигналы dll, посылаемые слотам внутри dll: програма падает и выдает Access Violation. В-третьих, куда-то пропали русские буквы и заменились на кракозябры. В-четвертых, после вызова деструктора объектов, экспортируемых из dll и содержащих сигналы и слоты, программа падает снова с Access Violation. Наверное, этот список можно продолжать и удивляться. Настройки компилятора и линкера в Visual Studio проверил, они вроде адекватные. Что вообще происходит?
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Абсолютно уверен, что и exe и все dll-ки собраны под Debug ? Не может быть, чтобы exe-шник был в Release, а dll-ки в Debug ? Если так, то и не должно работать, т.к. Qt-шные классы сильно отличаются в режиме Debug и Release
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| qtshnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Ну а как здесь можно ошибиться? просто посмотреть Configuration Properties для solution'а
|
|||
|
||||
| Jeka178RUS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 3.9.2012 Репутация: нет Всего: нет |
Добавь постфикс d для дебага, тогда точно не ошибешься
|
|||
|
||||
| qtshnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
там и по размеру файла неплохо видно
|
|||
|
||||
| qtshnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
проблема решена. В AdditionalDependencies вместо QtCored4.lib стояло QtCore4.lib. Ошибка в одной букве так печальна!
|
|||
|
||||
| Jeka178RUS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 3.9.2012 Репутация: нет Всего: нет |
Вот тебе и попалась релизная либа вместо дебажной
Это сообщение отредактировал(а) Jeka178RUS - 21.3.2013, 13:26 |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |