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

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

Страниц: 1 ... 71 72 [73] 74 75 ... 88   Вниз
  Печать  
Автор Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].  (Прочитано 752803 раз)
voldem
Гость
« Ответ #1080 : Март 08, 2013, 01:24 »

Не выдержал, снёс всё и переставил по-новой(ничего не пересобирал). Лог сборки и установки из командной строки в вложении.

На Qt4.8.4 собирается только Debug, примеры так же запускаются.
Релиз не собирается, пишет:
Код:
:-1: ошибка: cannot find -lQtSerialPort
:-1: ошибка: collect2: ld returned 1 exit status
Полный вывод во вложении.

На Qt5.0.1 собирается и в Дебаг и в Релизе, но примеры не запускаются(в обеих случаях), пишет:
Код:
Не удалось запустить программу. Путь или права недопустимы?
C:\qtserialport-build-Desktop_Qt_5_0_1_MinGW_32bit-______\examples\enumerator\release\enumerator.exe завершился с кодом -1
Запускается C:\qtserialport-build-Desktop_Qt_5_0_1_MinGW_32bit-______\examples\enumerator\release\enumerator.exe...
В соответствующих папках ехе-шки отсутствуют.

Пробовал так же и на другой машине, но с WinXPx86.
« Последнее редактирование: Март 08, 2013, 02:23 от voldem » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1081 : Март 11, 2013, 10:36 »

Цитата: voldem
На Qt4.8.4 собирается только Debug, примеры так же запускаются.
Не должны запускаться, т.к. в PATH не должно быть пути к QtSerialPort.dll
после сборки.

Цитата: voldem
Релиз не собирается, пишет:
Код:
:-1: ошибка: cannot find -lQtSerialPort
:-1: ошибка: collect2: ld returned 1 exit status
Полный вывод во вложении.
Скорее всего ты не все снес и не почистил директорию с установленной Qt, т.к. скорее всего в неё уже
был когда-то установлен отладочный QtSerialPort. Почисти хорошенько.

Цитата: voldem
На Qt5.0.1 собирается и в Дебаг и в Релизе, но примеры не запускаются(в обеих случаях), пишет:
Код:
Не удалось запустить программу. Путь или права недопустимы?
C:\qtserialport-build-Desktop_Qt_5_0_1_MinGW_32bit-______\examples\enumerator\release\enumerator.exe завершился с кодом -1
Запускается C:\qtserialport-build-Desktop_Qt_5_0_1_MinGW_32bit-______\examples\enumerator\release\enumerator.exe...
В соответствующих папках ехе-шки отсутствуют.

Пробовал так же и на другой машине, но с WinXPx86.
Тут ХЗ, не проверял еще на Qt5. Вроде и не должны запускаться.
Записан

ArchLinux x86_64 / Win10 64 bit
voldem
Гость
« Ответ #1082 : Март 11, 2013, 11:48 »

Цитата: voldem
На Qt4.8.4 собирается только Debug, примеры так же запускаются.
Не должны запускаться, т.к. в PATH не должно быть пути к QtSerialPort.dll
после сборки.

Цитата: voldem
Релиз не собирается, пишет:
Код:
:-1: ошибка: cannot find -lQtSerialPort
:-1: ошибка: collect2: ld returned 1 exit status
Полный вывод во вложении.

Скорее всего ты не все снес и не почистил директорию с установленной Qt, т.к. скорее всего в неё уже
был когда-то установлен отладочный QtSerialPort. Почисти хорошенько.

Исключено! После удаления лично проверил папки касательно Qt и вручную удалил оставшиеся (так же из C:\Users\юсер\AppData\Roaming\ ), потом почистил реестр на всякий случай. Или есть еще какие хитрые места ?
А не текущий, установленный из комм.строки? Как раз отладочный только и собрался...

Цитата: voldem
На Qt5.0.1 собирается и в Дебаг и в Релизе, но примеры не запускаются(в обеих случаях), пишет:
Код:
Не удалось запустить программу. Путь или права недопустимы?
C:\qtserialport-build-Desktop_Qt_5_0_1_MinGW_32bit-______\examples\enumerator\release\enumerator.exe завершился с кодом -1
Запускается C:\qtserialport-build-Desktop_Qt_5_0_1_MinGW_32bit-______\examples\enumerator\release\enumerator.exe...
В соответствующих папках ехе-шки отсутствуют.

Пробовал так же и на другой машине, но с WinXPx86.
Тут ХЗ, не проверял еще на Qt5. Вроде и не должны запускаться.

Так зачем же они тогда, если не должны?!

С QSerialDevice проходит все норм.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1083 : Март 11, 2013, 11:57 »

Цитировать
Исключено! После удаления лично проверил папки касательно Qt и вручную удалил оставшиеся (так же из C:\Users\юсер\AppData\Roaming\ ), потом почистил реестр на всякий случай. Или есть еще какие хитрые места ?
А не текущий, установленный из комм.строки? Как раз отладочный только и собрался...

Чудес не бывает (с). Я только что проверил - у меня все собирается.
Попробуй подождать пока не примут этот патч:

https://codereview.qt-project.org/#change,50203

Обновись, возможно это также решит проблему на Qt4.

Цитировать
Так зачем же они тогда, если не должны?!

Эмм.. Примеры будут работать только если ты скомпилил и установил библиотеку,
а также если в твоей PATH прописаны пути к Qt-шным библиотекам.
Иначе не будут.
Записан

ArchLinux x86_64 / Win10 64 bit
voldem
Гость
« Ответ #1084 : Март 11, 2013, 12:49 »

Чудес не бывает (с). Я только что проверил - у меня все собирается.
Да, это точно. Но проблема на то похожа, пытаюсь выяснить  в чём дело. Попробую задействовать еще один ПК...
Версия MinGW критична (4.7 в д.случае)?!


Эмм.. Примеры будут работать только если ты скомпилил и установил библиотеку,
а также если в твоей PATH прописаны пути к Qt-шным библиотекам.
Иначе не будут.
А можно по-подробнее? Я проверил (то, что знал), но ничего подобного не нашел, т.е. либо там все ОК, либо я просто не понял о чем речь.
« Последнее редактирование: Март 11, 2013, 13:02 от voldem » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1085 : Март 11, 2013, 13:13 »

Цитата: voldem
Версия MinGW критична (4.7 в д.случае)?!
А разве Qt4.8.4 поставляется с 4.7?  Подмигивающий
Значит критично.


Цитата: voldem
А можно по-подробнее? Я проверил (то, что знал), но ничего подобного не нашел, т.е. либо там все ОК, либо я просто не понял о чем речь.
А что подробного то?

Делаешь qmake && make && make install, потом берешь и запускаешь екзешку примера -
и он должен работать, если конечно в PATH прописаны пути до C:\Qt\bin (или как там у тебя)
Записан

ArchLinux x86_64 / Win10 64 bit
voldem
Гость
« Ответ #1086 : Март 11, 2013, 13:25 »

А разве Qt4.8.4 поставляется с 4.7?  Подмигивающий
Значит критично.
Ну, я ставлю все по-отдельности:
-сначала MinGW;
-потом Qt4.8.4;
-потом креатор.
Что-то не видел чтобы Qt4.8.4 был как 5,0,1 или 4,8,1 (все и сразу).
А какая версия(MinGW) тогда должна быть?
Пробовал так же 4,4,0 и 4,4,1, но ничего не получилось...

А что подробного то?

Делаешь qmake && make && make install, потом берешь и запускаешь екзешку примера -
и он должен работать, если конечно в PATH прописаны пути до C:\Qt\bin (или как там у тебя)
Если речь об PATH в "Переменных средах", то там такого нет.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1087 : Март 11, 2013, 13:34 »

Цитата: voldem
А какая версия(MinGW) тогда должна быть?
Пробовал так же 4,4,0 и 4,4,1, но ничего не получилось...

http://qt-project.org/downloads

Qt 4.8.4 - MinGW 4.4
Qt 5.0.1 - MinGW 4.7


Цитата: voldem
Если речь об PATH в "Переменных средах", то там такого нет.
Ну значит примеры и не должны заускаться.
Кинь в папочку с экзешником все требуемые dll-ки тогда пример заработает,
как и любое другое Qt-шное приложение.
Записан

ArchLinux x86_64 / Win10 64 bit
voldem
Гость
« Ответ #1088 : Март 11, 2013, 13:59 »

Цитата: voldem
А какая версия(MinGW) тогда должна быть?
Пробовал так же 4,4,0 и 4,4,1, но ничего не получилось...

http://qt-project.org/downloads

Qt 4.8.4 - MinGW 4.4
Qt 5.0.1 - MinGW 4.7

Странно. Именно эти и ставлю, но Qt 4.8.4 во время установки спрашивает где MinGW. Логично, что значит, что его там нет, по -этому даю ему, то что хочет.

Цитата: voldem
Если речь об PATH в "Переменных средах", то там такого нет.
Ну значит примеры и не должны заускаться.
Кинь в папочку с экзешником все требуемые dll-ки тогда пример заработает,
как и любое другое Qt-шное приложение.

Основная проблема не в том, что они не запускаются (я так уже пробовал там, где они появлялись), а в том, что они не появляются и библиотека не компилируется.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1089 : Март 11, 2013, 14:28 »

Цитировать
Основная проблема не в том, что они не запускаются (я так уже пробовал там, где они появлялись), а в том, что они не появляются и библиотека не компилируется.
Ищи проблемы на своей стороне.
Записан

ArchLinux x86_64 / Win10 64 bit
voldem
Гость
« Ответ #1090 : Март 11, 2013, 17:00 »

Учитывая все вышеизложенное, еще раз перепроверил и переустановил и вот что из этого получилось.
Т.к. найти и скачать MinGW 4.4 мне не удалось (вернее нашел и скачал, но с ним вообще ничего не работало), то он был скопирован из QtSDK1.2.1 (последний из нокии). В итоге все откомпилировалось и запускалось как сказано выше, но немного по-другому...
Если собирать из комм.строки Qt4.8.4, то по прежнему собирается только Debug, если через креатор, то все собирается. В итоге установил по-отдельности Release и Debug. Теперь запускаются и примеры (это на 4,8,4).
На Qt5.0.1 собирается и Release и Debug, кроме примеров. После установки (вышеуказанным способом) собираются и примеры ...
Попробую пересобрать Qt для статической сборки и попробовать с ним.
Как я понял это нормальное явление? Если да, то не плохо бы задокументировать эти нюансы...
В любом случае благодарен за помощь.
« Последнее редактирование: Март 11, 2013, 17:05 от voldem » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1091 : Март 11, 2013, 18:30 »

Цитата: voldem
Если собирать из комм.строки Qt4.8.4, то по прежнему собирается только Debug

Да не может быть...

Цитировать
e:\git\ng\build>set PATH=c:\MinGW\mingw\bin;c:\Qt\4.8.3\bin
e:\git\ng\build>qmake ..\123\qtserialport\qtserialport.pro
e:\git\ng\build>mingw32-make
...
...


В итоге имеем релизную: QtSerialPort.dll ~119KB (хотя использую Qt 4.8.3 а не 4.8.4, но думаю - без разницы)

Цитата: voldem
В итоге установил по-отдельности Release и Debug. Теперь запускаются и примеры (это на 4,8,4)

Для Qt 4.8.x как бы так и планировалось, что пользователь сам знает, какую цель ему собирать.
Хотя ранее, по умолчанию собирались сразу и Release и Debug, но от этого решено было отказаться.
И да, текущая реализация qmake-шных сборочных скриптов для Qt4.8.х желает чтобы ее исправили, но некому Улыбающийся

Цитата: voldem
На Qt5.0.1 собирается и Release и Debug, кроме примеров. После установки (вышеуказанным способом) собираются и примеры ...

Как я понял, это не проблема QtSerialPort - это проблема самих билд скриптов Qt5 (syncqt - или как там.),
т.е. это поведение распространяется на все модули Qt5.

Хотя по идее, по умолчанию должны собираться только релизные примеры, хотя сама библиотека должна собираться
в двух вариантах.

Цитата: voldem
Как я понял это нормальное явление? Если да, то не плохо бы задокументировать эти нюансы...

Ну так Вики доступна для редактирования - возьми и задокументируй. Но сначала обязательно убедись,
что это воспроизводится не только у тебя.  Улыбающийся







Записан

ArchLinux x86_64 / Win10 64 bit
voldem
Гость
« Ответ #1092 : Март 11, 2013, 19:31 »


Да не может быть...

Цитировать
e:\git\ng\build>set PATH=c:\MinGW\mingw\bin;c:\Qt\4.8.3\bin
e:\git\ng\build>qmake ..\123\qtserialport\qtserialport.pro
e:\git\ng\build>mingw32-make
...
...


В итоге имеем релизную: QtSerialPort.dll ~119KB (хотя использую Qt 4.8.3 а не 4.8.4, но думаю - без разницы)


У меня там (в папке \serialport-build\src\serialport\release\) после сборки (через комм.строку) только один файл ~570byte QtSerialPort.prl.
В \serialport-build\src\serialport\debug\ есть QtSerialPortd.dll и др.
Вот по-этому и говорю...

Ну так Вики доступна для редактирования - возьми и задокументируй. Но сначала обязательно убедись,
что это воспроизводится не только у тебя.  Улыбающийся
Вот по-этому и спрашиваю, а то мало ли... Может по неосведомленности что-то делаю не то (или наоборот, лишнее делаю), рановато еще...
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1093 : Март 14, 2013, 17:26 »

2 voldem , упс, да, подтверждаю.

На Qt4.8.4 по умолчанию билдится дебаг версия (по крайней мере в Windows) - как это побороть пока неизвестно.

Поэтому для сборки лучше принудительно указывать таргет:
Цитировать
$$qmake <path/to/project/*.pro> CONFIG+=release
Записан

ArchLinux x86_64 / Win10 64 bit
Bepec
Гость
« Ответ #1094 : Март 20, 2013, 10:42 »

Кхм. А как собрать на него документацию?

Ранее как то само собиралось, теперь же после скачивания и сборки нигде нет проекта для документации Улыбающийся

PS и что, убраны все методы с QByteArray? хмм...
« Последнее редактирование: Март 20, 2013, 10:56 от Bepec » Записан
Страниц: 1 ... 71 72 [73] 74 75 ... 88   Вверх
  Печать  
 
Перейти в:  


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