Название: работа с компортом(установка qtserialport)
Отправлено: koldun90 от Февраль 28, 2015, 10:13
здравствуйте нужно считывать данные с компорта для этого решил использовать qtserialport 1)скачал архив вот остюда http://qt-project.org/wiki/QtSerialPort_Russian 2) в архиве лежала папка qt-qtseriaport я распаковал ее в корень /qt-qtseriaport3)затем переименовал /qt-qtseriaport в /qtseriaport4)создал папку в корне /serialport-build5)перешел в нее cd /serialport-build5) потом выполнил команду qmake ../qtserialport/qtserialport.proно консоль выдала следующее сообщение qtserialport.pro:1: Unknown test function: lessThan Project LOAD(): Feature qt_parts cannot be found. вопрос как все таки установить qtserialport использую qt 4.8 linux прилагаю библиотеку...
Название: Re: работа с компортом(установка qtserialport)
Отправлено: Fat-Zer от Февраль 28, 2015, 11:45
хз, откуда ты взял этот архив... склонируй из гит'а. для qt4 подойдёт ветка stable: git clone git://gitorious.org/qt/qtserialport.git -b stable и будет счастье...
Название: Re: работа с компортом(установка qtserialport)
Отправлено: koldun90 от Февраль 28, 2015, 11:57
ссылку можно?
вот отсюда чтоли... https://qt.gitorious.org/qt/qtserialport/commits/19da18b96897c7d0b9dce2dd589d0135b397005e
скачал все тоже самое... а я все правильно ставлю? вот архив со страницы https://qt.gitorious.org/qt/qtserialport/commits/19da18b96897c7d0b9dce2dd589d0135b397005e кнопка в правом верхнем углу "download" скачивал
Название: Re: работа с компортом(установка qtserialport)
Отправлено: koldun90 от Февраль 28, 2015, 12:14
содержимое файла qtserialport.prolessThan(QT_MAJOR_VERSION, 5) { TEMPLATE = subdirs SUBDIRS = src examples tests CONFIG += ordered
!infile($$OUT_PWD/.qmake.cache, QTSERIALPORT_PROJECT_ROOT) { system("echo QTSERIALPORT_PROJECT_ROOT = $$PWD >> $$OUT_PWD/.qmake.cache") system("echo QTSERIALPORT_BUILD_ROOT = $$OUT_PWD >> $$OUT_PWD/.qmake.cache") } } else { load(qt_parts) }
и ругается на qtserialport.pro:1: Unknown test function: lessThan Project LOAD(): Feature qt_parts cannot be found.
Название: Re: работа с компортом(установка qtserialport)
Отправлено: kuzulis от Февраль 28, 2015, 14:19
Не не.. Начиная с Qt5.5 будет две ветки: * одна для Qt4 - это qt4-dev: https://qt.gitorious.org/qt/qtserialport/source/8088ad9a3b3801e4c39fbf7e6fd100ab64c8151b: * другая для Qt5 (это обычные ветки 5.4, 5.5 и прочие). Ветки stable вообще нет (от нее уже как сто-пиццот лет тому назад отказались). * Если нужно использовать для Qt5 - то нужно брать любую желаемую из 5.4.х (сейчас это 5.4.1). Если же хочется попробовать плюшки из еще не вышедшей следующей версии - то нужно брать из 5.5. * Если нужно использовать для Qt4 - то берем из qt4-dev. Здесь всегда будет только одна эта ветка (по аналогии как с Qt4). По поводу сообщения: qtserialport.pro:1: Unknown test function: lessThan - это вообще непонятное что-то.. Возможно используется какое-то неправильное Qt4.8 (или не-доустановленное). В любом случае, в qt4-dev такого "lessThan" уже нет и оно должно собраться без проблем. Собирать лучше всего используя QtCreator - для новичков - это самое то, т.к. там трудно ошибиться с установкой и выбором нужных переменных окружения, компиляторов и пр. (в Вики об этом сказано на англицкой странице).
Название: Re: работа с компортом(установка qtserialport)
Отправлено: koldun90 от Февраль 28, 2015, 14:41
я открыл в креаторе проект /qt-qtserialport/qtserialport.proпредварительно очитсил затем собрал все собралось ошибок нет а как использовать qtserialport в моем проекте(моей программе)? качал по ссылке https://qt.gitorious.org/qt/qtserialport/source/8088ad9a3b3801e4c39fbf7e6fd100ab64c8151b хотя проект собрался но не запускается пишет при запуске /build-qtserialport-Desktop-Debug/tests/auto/qserialportinfo/tst_qserialportinfo: error while loading shared libraries: libQtSerialPort.so.1: cannot open shared object file: No such file or directory
Название: Re: работа с компортом(установка qtserialport)
Отправлено: kuzulis от Февраль 28, 2015, 14:47
а как использовать qtserialport в моем проекте(моей программе)? * Открыть консоль/терминал * Найти теневую директорию куда QtCreator собрал библиотеку (по идее должно быть две директории, что-то типа Debug и Release) * Зайти по-очереди в каждую из них и выполнить: sudo make install (хотя, достаточно зайти только в Release) * Проверить что оно реально установилось куда надо. Для этого поискать в системе *.so файлы и заголовки от QtSerialPort (по идее они должны быть рядом с аналогичными файлами от Qt4) * В своем проекте в *.pro файле прописать: CONFIG += serialport PS: На ВИКИ это все есть! >:(
Название: Re: работа с компортом(установка qtserialport)
Отправлено: koldun90 от Февраль 28, 2015, 15:06
создалась только папка build-qtserialport-Desktop-Debug после сборки проекта [root@maks build-qtserialport-Desktop-Debug]# sudo make install cd src/ && make -f Makefile install make[1]: Entering directory `/build-qtserialport-Desktop-Debug/src' cd serialport/ && make -f Makefile install erialport' h /usr/lib64/qt48/include/QtSerialPort/ /lib64/qt48/include/QtSerialPort/ install -m 755 -p /qt-qtserialport/src/serialport/qserialportinfo.h /usr/lib64/qt48/include/QtSerialPort/ h /usr/lib64/qt48/include/QtSerialPort/ /lib64/qt48/include/QtSerialPort/ install -m 755 -p /qt-qtserialport/src/serialport/qserialportinfo.h /usr/lib64/qt48/include/QtSerialPort/ Port/QSerialPort /usr/lib64/qt48/include/QtSerialPort/ Port/QSerialPortInfo /usr/lib64/qt48/include/QtSerialPort/ ort.prf /usr/lib64/qt48/mkspecs/features/ libQtSerialPort.so.1.0.0" alPort.so" alPort.so.1" alPort.so.1.0" SerialPort.prl" rialport' make[1]: Leaving directory `/build-qtserialport-Desktop-Debug/src' cd examples/ && make -f Makefile install les' cd serialport/ && make -f Makefile install les/serialport' cd cenumerator/ && make -f Makefile install les/serialport/cenumerator' make[3]: Цель `install' не требует выполнения команд. es/serialport/cenumerator' cd creaderasync/ && make -f Makefile install les/serialport/creaderasync' make[3]: Цель `install' не требует выполнения команд. es/serialport/creaderasync' cd creadersync/ && make -f Makefile install les/serialport/creadersync' make[3]: Цель `install' не требует выполнения команд. es/serialport/creadersync' cd cwriterasync/ && make -f Makefile install les/serialport/cwriterasync' make[3]: Цель `install' не требует выполнения команд. es/serialport/cwriterasync' cd cwritersync/ && make -f Makefile install les/serialport/cwritersync' make[3]: Цель `install' не требует выполнения команд. es/serialport/cwritersync' cd enumerator/ && make -f Makefile install les/serialport/enumerator' make[3]: Цель `install' не требует выполнения команд. es/serialport/enumerator' cd terminal/ && make -f Makefile install les/serialport/terminal' make[3]: Цель `install' не требует выполнения команд. es/serialport/terminal' cd blockingmaster/ && make -f Makefile install les/serialport/blockingmaster' make[3]: Цель `install' не требует выполнения команд. es/serialport/blockingmaster' cd blockingslave/ && make -f Makefile install les/serialport/blockingslave' make[3]: Цель `install' не требует выполнения команд. es/serialport/blockingslave' cd master/ && make -f Makefile install les/serialport/master' make[3]: Цель `install' не требует выполнения команд. es/serialport/master' cd slave/ && make -f Makefile install les/serialport/slave' make[3]: Цель `install' не требует выполнения команд. es/serialport/slave' es/serialport' es' cd tests/ && make -f Makefile install ' cd auto/ && make -f Makefile install /auto' cd qserialport/ && make -f Makefile install /auto/qserialport' make[3]: Цель `install' не требует выполнения команд. auto/qserialport' cd qserialportinfo/ && make -f Makefile install /auto/qserialportinfo' make[3]: Цель `install' не требует выполнения команд. auto/qserialportinfo' cd cmake/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Debug/tests/auto/cmake' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Debug/tests/auto/cmake' make[2]: Leaving directory `/build-qtserialport-Desktop-Debug/tests/auto' cd manual/ && make -f Makefile install make[2]: Entering directory `/build-qtserialport-Desktop-Debug/tests/manual' cd qserialportinfo/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Debug/tests/manual/qserialportinfo' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Debug/tests/manual/qserialportinfo' cd qserialport/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Debug/tests/manual/qserialport' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Debug/tests/manual/qserialport' make[2]: Leaving directory `/build-qtserialport-Desktop-Debug/tests/manual' make[1]: Leaving directory `/build-qtserialport-Desktop-Debug/tests'[root@maks build-qtserialport-Desktop-Debug]#
это все нормально собралось или как?
Название: Re: работа с компортом(установка qtserialport)
Отправлено: kuzulis от Февраль 28, 2015, 15:37
В QtCreator поменять цель Debug на Release в свойствах проекта.
ЗЫ: И пора бы уже самому начинать думать...
Название: Re: работа с компортом(установка qtserialport)
Отправлено: koldun90 от Февраль 28, 2015, 17:05
поменял цель "отладку" на "выпуск" [root@maks build-qtserialport-Desktop-Release]# sudo make install cd src/ && make -f Makefile install make[1]: Entering directory `/build-qtserialport-Desktop-Release/src' cd serialport/ && make -f Makefile install make[2]: Entering directory `/build-qtserialport-Desktop-Release/src/serialport' install -m 755 -p /qt-qtserialport/src/serialport/qserialportglobal.h /usr/lib64/qt48/include/QtSerialPort/ strip /usr/lib64/qt48/include/QtSerialPort/qserialportglobal.h strip: /usr/lib64/qt48/include/QtSerialPort/qserialportglobal.h: File format not recognized make[2]: [install_target_headers] Ошибка 1 (игнорирована) install -m 755 -p /qt-qtserialport/src/serialport/qserialport.h /usr/lib64/qt48/include/QtSerialPort/ strip /usr/lib64/qt48/include/QtSerialPort/qserialport.h strip: /usr/lib64/qt48/include/QtSerialPort/qserialport.h: File format not recognized make[2]: [install_target_headers] Ошибка 1 (игнорирована) install -m 755 -p /qt-qtserialport/src/serialport/qserialportinfo.h /usr/lib64/qt48/include/QtSerialPort/ strip /usr/lib64/qt48/include/QtSerialPort/qserialportinfo.h strip: /usr/lib64/qt48/include/QtSerialPort/qserialportinfo.h: File format not recognized make[2]: [install_target_headers] Ошибка 1 (игнорирована) install -m 755 -p /qt-qtserialport/src/serialport/qserialportglobal.h /usr/lib64/qt48/include/QtSerialPort/ strip /usr/lib64/qt48/include/QtSerialPort/qserialportglobal.h strip: /usr/lib64/qt48/include/QtSerialPort/qserialportglobal.h: File format not recognized make[2]: [install_target_headers] Ошибка 1 (игнорирована) install -m 755 -p /qt-qtserialport/src/serialport/qserialport.h /usr/lib64/qt48/include/QtSerialPort/ strip /usr/lib64/qt48/include/QtSerialPort/qserialport.h strip: /usr/lib64/qt48/include/QtSerialPort/qserialport.h: File format not recognized make[2]: [install_target_headers] Ошибка 1 (игнорирована) install -m 755 -p /qt-qtserialport/src/serialport/qserialportinfo.h /usr/lib64/qt48/include/QtSerialPort/ strip /usr/lib64/qt48/include/QtSerialPort/qserialportinfo.h strip: /usr/lib64/qt48/include/QtSerialPort/qserialportinfo.h: File format not recognized make[2]: [install_target_headers] Ошибка 1 (игнорирована) install -m 644 -p /build-qtserialport-Desktop-Release/include/QtSerialPort/QSerialPort /usr/lib64/qt48/include/QtSerialPort/ rt/ install -m 755 -p /qt-qtserialport/src/serialport/qt4support/serialport.prf /usr/lib64/qt48/mkspecs/features/ strip /usr/lib64/qt48/mkspecs/features/serialport.prf strip: /usr/lib64/qt48/mkspecs/features/serialport.prf: File format not recognized make[2]: [install_mkspecs_features] Ошибка 1 (игнорирована) install -m 755 -p "libQtSerialPort.so.1.0.0" "/usr/lib64/qt48/lib64/libQtSerialPort.so.1.0.0" strip --strip-unneeded "/usr/lib64/qt48/lib64/libQtSerialPort.so.1.0.0" ln -f -s "libQtSerialPort.so.1.0.0" "/usr/lib64/qt48/lib64/libQtSerialPort.so" ln -f -s "libQtSerialPort.so.1.0.0" "/usr/lib64/qt48/lib64/libQtSerialPort.so.1" ln -f -s "libQtSerialPort.so.1.0.0" "/usr/lib64/qt48/lib64/libQtSerialPort.so.1.0" install -m 644 -p "libQtSerialPort.prl" "/usr/lib64/qt48/lib64/libQtSerialPort.prl" make[2]: Leaving directory `/build-qtserialport-Desktop-Release/src/serialport' make[1]: Leaving directory `/build-qtserialport-Desktop-Release/src' cd examples/ && make -f Makefile install make[1]: Entering directory `/build-qtserialport-Desktop-Release/examples' cd serialport/ && make -f Makefile install make[2]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport' cd cenumerator/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/cenumerator' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/cenumerator' cd creaderasync/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/creaderasync' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/creaderasync' cd creadersync/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/creadersync' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/creadersync' cd cwriterasync/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/cwriterasync' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/cwriterasync' cd cwritersync/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/cwritersync' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/cwritersync' cd enumerator/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/enumerator' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/enumerator' cd terminal/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/terminal' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/terminal' cd blockingmaster/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/blockingmaster' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/blockingmaster' cd blockingslave/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/blockingslave' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/blockingslave' cd master/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/master' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/master' cd slave/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/examples/serialport/slave' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport/slave' make[2]: Leaving directory `/build-qtserialport-Desktop-Release/examples/serialport' make[1]: Leaving directory `/build-qtserialport-Desktop-Release/examples' cd tests/ && make -f Makefile install make[1]: Entering directory `/build-qtserialport-Desktop-Release/tests' cd auto/ && make -f Makefile install make[2]: Entering directory `/build-qtserialport-Desktop-Release/tests/auto' cd qserialport/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/tests/auto/qserialport' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/tests/auto/qserialport' cd qserialportinfo/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/tests/auto/qserialportinfo' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/tests/auto/qserialportinfo' cd cmake/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/tests/auto/cmake' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/tests/auto/cmake' make[2]: Leaving directory `/build-qtserialport-Desktop-Release/tests/auto' cd manual/ && make -f Makefile install make[2]: Entering directory `/build-qtserialport-Desktop-Release/tests/manual' cd qserialportinfo/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/tests/manual/qserialportinfo' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/tests/manual/qserialportinfo' cd qserialport/ && make -f Makefile install make[3]: Entering directory `/build-qtserialport-Desktop-Release/tests/manual/qserialport' make[3]: Цель `install' не требует выполнения команд. make[3]: Leaving directory `/build-qtserialport-Desktop-Release/tests/manual/qserialport' make[2]: Leaving directory `/build-qtserialport-Desktop-Release/tests/manual' make[1]: Leaving directory `/build-qtserialport-Desktop-Release/tests' [root@maks build-qtserialport-Desktop-Release]#
Название: Re: работа с компортом(установка qtserialport)
Отправлено: koldun90 от Февраль 28, 2015, 17:24
вообщем пересобрал проект в релизе затем запустил закрыл добавил в свой проект строку потом в mainwindow.cpp #include <QSerialPort>перекомпилировал свой проект вроде он нашел QSerialPort в /usr/lib64/qt48/include/QtSerialPort/QSerialPort
|