Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: Martiro от Июнь 09, 2008, 10:02



Название: QextSerialPort не могу подключить
Отправлено: Martiro от Июнь 09, 2008, 10:02
Скачал библиотеку QextSerialPort (v: 0.8, 0.9)...
Скомпилировал, добавил в проект.
Когда начинаю компилировать свой проект, выдаёт много ошибок, ругаясь на h-ники и cpp-ники из этой библиотеки...

Или для работы этой библиотеки нужно брать какие-то другие файлы?

OS MCBC, QT3.3.3.


Название: Re: QextSerialPort не могу подключить
Отправлено: Martiro от Июнь 09, 2008, 10:04
Ругается сначала на отсутствие windows.h, которого у меня, естественно, нет и в помине!


Название: Re: QextSerialPort не могу подключить
Отправлено: Mikhail от Июнь 09, 2008, 11:43
Ругается сначала на отсутствие windows.h, которого у меня, естественно, нет и в помине!

QextSerialPort - это кроссплатформенная библиотека.

Для компиляции под Linux/unix необходимо выполнить qmake -unix в каталоге проекта, а не просто qmake.


Название: Re: QextSerialPort не могу подключить
Отправлено: lit-uriy от Июнь 09, 2008, 11:44
С QextSerialPort пример идет, он компилится?


Название: Re: QextSerialPort не могу подключить
Отправлено: Martiro от Июнь 09, 2008, 12:05
у меня версия под QT3 QextSerialPort 0.8.0, а там примера нет.
я так понимаю, что версии выше 1.0 уже под QT4?


Название: Re: QextSerialPort не могу подключить
Отправлено: Martiro от Июнь 09, 2008, 12:06
для подключения библиотеки к проекту какие h-ники подключать нужно?


Название: Re: QextSerialPort не могу подключить
Отправлено: pastor от Июнь 09, 2008, 12:36
для подключения библиотеки к проекту какие h-ники подключать нужно?

qextserialport.h

ЗЫ: Советую всеже юзать 0.9  версию


Название: Re: QextSerialPort не могу подключить
Отправлено: Martiro от Июнь 09, 2008, 13:04
не понимаю все равно...
включаю в проект qextserialport.h, компилирую, ругается на то, что неизвестен QextBaseType. Он хранится в posix_qextserialport.h, а оттуда тянутся все остальные h-ники???

qextserialport.h:
Цитировать
#ifndef _QEXTSERIALPORT_H_
#define _QEXTSERIALPORT_H_

/*POSIX CODE*/
#ifdef _TTY_POSIX_
#include "posix_qextserialport.h"
#define QextBaseType Posix_QextSerialPort

/*MS WINDOWS CODE*/
#else
#include "win_qextserialport.h"
#define QextBaseType Win_QextSerialPort
#endif

class QextSerialPort: public QextBaseType {
public:
    QextSerialPort();
    QextSerialPort(const char* name);
    QextSerialPort(PortSettings const& s);
    QextSerialPort(const char*name, PortSettings const& s);
    QextSerialPort(const QextSerialPort& s);
    QextSerialPort& operator=(const QextSerialPort&);
    virtual ~QextSerialPort();
};

#endif


Название: Re: QextSerialPort не могу подключить
Отправлено: Martiro от Июнь 09, 2008, 13:07
Может кто-нибудь пошагово написать, как подключить эту библиотеку? (Если кто-то с этим сталкивался)


Название: Re: QextSerialPort не могу подключить
Отправлено: pastor от Июнь 09, 2008, 13:24
Вы в профайле вашего проекта добавили строку

Код:
unix:DEFINES   = _TTY_POSIX_

ЗЫ: Проблем никогда не наблюдал. Делал так:

1) В профайле своего проекта определял макрос _TTY_POSIX_ (или _TTY_WIN_ для венды)

Код:
unix:DEFINES   = _TTY_POSIX_
win32:DEFINES  = _TTY_WIN_

2) В профайле своего проекта добавлял либу QextSerialPort

LIBS          += -lqextserialport

3) В проекте юзаю следующим образом

Код:
#include <qextserialport.h>

.....
QextSerialPort *port = new QextSerialPort("/dev/ttyS0");
port->setBaudRate(BAUD19200);   
port->setFlowControl(FLOW_OFF);
port->setParity(PAR_NONE);   
port->setDataBits(DATA_8);   
port->setStopBits(STOP_2);   
.....


Название: Re: QextSerialPort не могу подключить
Отправлено: Martiro от Июнь 09, 2008, 13:32
pastor, спасибо!  :)
Голова у меня дырявая... ;D