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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Qt 4.8.3 вышел  (Прочитано 17456 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« : Сентябрь 17, 2012, 09:41 »

Список изменений
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Сентябрь 18, 2012, 01:12 »

На MinGW платформе эпический баг с rcc.exe.
Записан
cya-st
Гость
« Ответ #2 : Сентябрь 18, 2012, 21:26 »

На MinGW платформе эпический баг с rcc.exe.
Тоже столкнулся с этим багом, и еще, (может это только у меня) не могу настроить GDB никак, запускается CDB, да и тот не работает.
Записан
Serr500
Гость
« Ответ #3 : Сентябрь 19, 2012, 08:07 »

На MinGW платформе эпический баг с rcc.exe.
Просветите плиз, что за баг?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #4 : Сентябрь 19, 2012, 12:25 »

https://bugreports.qt-project.org/browse/QTBUG-27244
Записан
Serr500
Гость
« Ответ #5 : Сентябрь 19, 2012, 15:02 »

Да. У меня пришлось прописывать путь к %QT_DIR% чтобы проекты нормально собирались.

А что, разработчики стали компилить готовые сборки без RTTI? У меня на dynamic_cast стало ругаться. Чем они руководствовались, когда убирали RTTI?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #6 : Сентябрь 19, 2012, 16:06 »

Нда, ещё и QSettings на Windows (на Linux не проверял) не может создать конфиг в IniFormat, ну и релиз Злой Будьте осторожны в таком коде:

Код
C++ (Qt)
   QSettings settings(QSettings::IniFormat,
                      QSettings::UserScope,
                      QCoreApplication::organizationName(),
                      QCoreApplication::applicationName());
 
   settings.setFallbacksEnabled(false);
   settings.setValue("key", "value");
   settings.sync();
 

Если каталог для ini файла не существует (на Windows XP - C:/Documents and Settings/<user>/Application Data/<organization>, на Windows 7 - C:/Users/<user>/AppData/Roaming/<organization>), то конфиг создан не будет. В Qt 4.8.2 всё работает нормально.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Сентябрь 19, 2012, 16:36 »

Alex Custov: а QDir::mkpath работает?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #8 : Сентябрь 19, 2012, 16:38 »

Alex Custov: а QDir::mkpath работает?

да, в качестве workaround использую именно QDir().mkpath() сразу после конструктора QSettings(), хотя у меня уже руки чешутся откатится на 4.8.2, кто знает что ещё за сюрпризы в этом релизе...
Записан
cya-st
Гость
« Ответ #9 : Сентябрь 19, 2012, 19:17 »

хотя у меня уже руки чешутся откатится на 4.8.2
я уже откатил Подмигивающий
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #10 : Сентябрь 19, 2012, 20:31 »

А что, разработчики стали компилить готовые сборки без RTTI? У меня на dynamic_cast стало ругаться

А что конкретно?
Записан
Serr500
Гость
« Ответ #11 : Сентябрь 19, 2012, 22:06 »

А что, разработчики стали компилить готовые сборки без RTTI? У меня на dynamic_cast стало ругаться

А что конкретно?
При вызове компилятора g++ присутствует параметр -DQT_NO_DYNAMIC_CAST (сам его нигде не ставил, генерится qmake'ом автоматически) и при компиляции вместо dynamic_cast подставляется define из qglobal.h
Код:
/*
   When RTTI is not available, define this macro to force any uses of
   dynamic_cast to cause a compile failure.
*/

#ifdef QT_NO_DYNAMIC_CAST
#  define dynamic_cast QT_PREPEND_NAMESPACE(qt_dynamic_cast_check)

  template<typename T, typename X>
  T qt_dynamic_cast_check(X, T* = 0)
  { return T::dynamic_cast_will_always_fail_because_rtti_is_disabled; }
#endif
Естественно, подставленная херня скомпилиться не может и выдаёт ошибку типа
Код:
%QT_DIR%\include/QtCore/../../src/corelib/global/qglobal.h:2505: error: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' is not a member of 'MyClass*'

Впрочем, при ближайшем рассмотрении я склоняюсь к мысли, что это баг в qmake. Я скомпилил проект в 4.8.2 и подсунул ему либы от 4.8.3. Всё заработало, чего не могло быть, если бы RTTI в либах отсутствовало.

P.S. Ну её на фиг! Откатываюсь на 4.8.2.
Записан
Serr500
Гость
« Ответ #12 : Сентябрь 19, 2012, 22:14 »

Ха!.. Всё ещё интереснее, чем я думал! Эти ошибки только в сборке для MinGW. В vs2010 ничего такого нет! И rcc нормально запускается, и на dynamic_cast не ругается.

Если каталог для ini файла не существует (на Windows XP - C:/Documents and Settings/<user>/Application Data/<organization>, на Windows 7 - C:/Users/<user>/AppData/Roaming/<organization>), то конфиг создан не будет.
Windows 7, MSVC 2010. Каталог создался.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #13 : Сентябрь 19, 2012, 23:10 »

Windows 7, MSVC 2010. Каталог создался.

То есть указанный создаёт каталог именно в 4.8.3, и при этом каталог до этого не существовал?
Записан
Serr500
Гость
« Ответ #14 : Сентябрь 20, 2012, 08:05 »

То есть указанный создаёт каталог именно в 4.8.3, и при этом каталог до этого не существовал?
Да. Именно 4.8.3, каталог специально проверил перед запуском - его не было.

P.S. Уточнение: Windows 7 x64, Qt 4.8.3 vs2010 x86, vs2010 SP1.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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