crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> обновление Qt без обновления QtCreator
Алексей1153
  опции профиля:
сообщение 22.1.2016, 10:10
Сообщение #1


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 202 раз(а)




Репутация:   35  


я ставил креатор одним установщиком вместе с Qt, у меня сейчас отображаются следующие версии

Цитата
Qt Creator 3.2.1 (opensource)
Основан на Qt 5.3.2 (MSVC 2010, 32 бита)



сунулся было качать и устанавливать всё поновее, скачал инсталляху креатора с account.qt.io (там потребовали зарегистрироваться и дали пробную версию на 35 дней)

И вот вопросы -

1) где взять бесплатную версию последнего креатора (не try версию) - если это вообще возможно

2) либо - если я скачаю только QT 5.5.1 , как её прицепить вместо старой (5.3.2), не меняя креатора. И возможно ли это тоже



а с чего кипиш начался - имеется конвертер usb-com https://www.silabs.com/products/mcu/Pages/U...VCPDrivers.aspx

на винде8 это чудо не работает с программой на Qt (к примеру, ftdi работает там нормально). В то же время, программа на MFC работает с чипом нормально. Отсюда делаю вывод, что старая версия Qt где-то несовместима на восьмёрке с драйвером чипа.

Хочу обновить Qt, перекомпилить и проверить, починится ли проблема
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 22.1.2016, 11:02
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 202 раз(а)




Репутация:   35  


насколько я понимаю, после установки qt в креаторе должен появится новый профиль, и его надо будет выбрать и с ним собирать проект

так ? Щас докачается, попробую :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 22.1.2016, 12:01
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 202 раз(а)




Репутация:   35  


посоветовали мне онлайновый обновлятор http://www.qt.io/download-open-source/ , пробую. Скачивает, ставит - надолго, похоже, сказка
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 25.1.2016, 7:41
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 202 раз(а)




Репутация:   35  


и обновил, и перекомпилил под новьё, и драйвер на восьмёрке самый новый поставил - не хочет работать порт у силикона о_О

Никто не сталкивался ?

В принципе, критичным не считаю, всё равно у большинства семёрки и (уже) десятки . Под ними работает нормально вроде
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Анна
  опции профиля:
сообщение 26.1.2016, 12:24
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 290
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 25 раз(а)




Репутация:   4  


Когда ставила из qt-opensource-windows-x86-msvc2010-5.5.1.exe , возникли проблемы с отладкой - дебагер VC не хотел открывать исходники библиотеки. Пристегнуть исходники так и не получилось, поэтому снесла.


Теперь поставила из qt-unified-windows-x86-2.0.2-2-online.exe (откуда я его скачала, не помню, но точно с www.qt.io )
Инсталлятор предложил поставить сразу несколько библиотек.
В результате поставились две версии QT: 5.4 и 5.5 (без третьей цифры) и вот такой креатор:
Qt Creator 3.6.0
Основан на Qt 5.5.1 (MSVC 2013, 32 бита)
Собрано Dec 15 2015 в 01:01:38



Версии библиотек в креатор добавляются "Инструменты"->"Параметры..."->"Сборка и запуск" указанием пути до qmake во вкладке "Qt Versions".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 27.1.2016, 7:49
Сообщение #6


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 202 раз(а)




Репутация:   35  


Анна, креатор установился нормально, профили он видит. Проблема, похоже, именно в совместимости Qt, восьмёрки и силикон лабс. Пока решили, что юзеров надо перевести на семёрку или 10ку :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.2.2016, 12:40
Сообщение #7


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 202 раз(а)




Репутация:   35  


...
Цитата(Алексей1153 @ 22.1.2016, 12:10) *
а с чего кипиш начался - имеется конвертер usb-com https://www.silabs.com/products/mcu/Pages/U...VCPDrivers.aspx

на винде8 это чудо не работает с программой на Qt (к примеру, ftdi работает там нормально). В то же время, программа на MFC работает с чипом нормально. Отсюда делаю вывод, что старая версия Qt где-то несовместима на восьмёрке с драйвером чипа.



кстати. Попробовал для винды сделать использование винапишного компорта - на проблемных машинах заработал обмен. Стал сравнивать в исходниках Qt

Судя по всему, костыль таится в открытии порта, у меня открывается с такими параметрами

...=::CreateFile(...,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,0,0);


в исходниках Qt
...= ::CreateFile(...,GENERIC_READ|GENERIC_WRITE,   0  , 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);


мне тут посоветовали пересобрать dll (исходники имеются) - понятно, что можно и так, но интересует, как стандартными настройками уговорить класс открывать порт без overlapped и с FILE_SHARE_READ :lol:

В принципе, могу для виндовых вариантов свой вариант класса оставить, для других ОС переключать на стандартный

Сообщение отредактировал Алексей1153 - 17.2.2016, 9:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 16.2.2016, 13:25
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 395
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Цитата(Алексей1153 @ 16.2.2016, 12:40) *
кстати. Попробовал для винды сделать использование винапишного компорта - на проблемных машинах заработал обмен. Стал сравнивать в исходниках Qt

Судя по всему, костыль таится в открытии порта, у меня открывается с такими параметрами

...=::CreateFile(...,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,0,0);


в исходниках Qt
...= ::CreateFile(...,GENERIC_READ|GENERIC_WRITE,   0  , 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);


мне тут посоветовали пересобрать dll (исходники имеются) - понятно, что можно и так, но интересует, как стандартными настройками уговорить класс открывать порт без overlapped и с FILE_SHARE_READ :lol:

В принципе, могу для виндовых вариантов свой вариант класса оставить, для других ОС переключать на стандартный


1. QtSerialPort работает в соответствии с рекомендациями от микрософта: https://msdn.microsoft.com/ru-ru/library/ff802693.aspx
2. QtSerialPort использует FILE_FLAG_OVERLAPPED, без которого ничего работать не будет.
3. Обращайтесь к силикону за поддержкой и фиксом их драйверов.

PS: Но этот вопрос явно не по теме шапки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 17.2.2016, 9:18
Сообщение #9


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 202 раз(а)




Репутация:   35  


kuzulis, да понятно, что у меня тут всё в кучу получилось - начал с одного, перешёл на тесты

Цитата
2. QtSerialPort использует FILE_FLAG_OVERLAPPED, без которого ничего работать не будет.

но вот это не есть правда - не будут работать только асинхронные операции, сигналы и слоты, а я их у себя не использую. Значит, должна, по идее, быть штатная возможность убирать флаг

В поддержку попробую, но что-то мне подсказывает, что проще будет оставить свою реализацию через винапи

я отредактировал сообщение #7 - можно с него разбить тему
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 17.2.2016, 11:44
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 395
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Цитата(Алексей1153 @ 17.2.2016, 9:18) *
но вот это не есть правда - не будут работать только асинхронные операции, сигналы и слоты, а я их у себя не использую.


Не будет работать сам QtSerialPort!

Но если порт откроется с FILE_SHARE_READ и FILE_FLAG_OVERLAPPED - то будет работать... Можно даже "запилить" патч, который добавляет FILE_SHARE_READ/FILE_SHARE_WRITE, если они заработают для силикона...

И, кстати, а что за силиконовская железка? Есть какое-нить описание?

UPD: Хотя, если используется железяка типа CP21xxx, то должно работать и без FILE_SHARE_READ/FILE_SHARE_WRITE,
см описание: https://www.silabs.com/Support%20Documents/...lDocs/an197.pdf

UPD2: возможно просто попробовать также подставить FILE_ATTRIBUTE_NORMAL к FILE_FLAG_OVERLAPPED и без всяких FILE_SHARE_READ/FILE_SHARE_WRITE... Если заведется - то патч можно накатить..

В общем, читай документацию и пробуй... :)..

Сообщение отредактировал kuzulis - 17.2.2016, 11:51
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.3.2017, 2:19