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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Опять поповоду QextserialPort  (Прочитано 24547 раз)
druid
Гость
« : Ноябрь 02, 2009, 23:14 »

Добрый день всем ворумчанам. Скажу сразу я новичек в QT.
Мне нада подключить библиотку QextserialPort для работы с сом-портом. (ОС fedora l11)
Буду расказывать по порядку как я делал:

1. скачал  QextserialPort v0.9   c cfqnf  http://qextserialport.sourceforge.net/  там еще есть версии по новее (пробывал их тоже)
2.скомпилил командами
   qmake --unix
    qmake  QextserialPort.pro
   make
3. после  компиляции в папке QextserialPort появились три дериктории lib, moc и obj
4. Терь самое интересное подключение:
 
 5  Создал консольній проект в QT Creator  (наз 123) в проекте два файла: main.cpp и 123.pro
тепрерь пользуясь http://www.prog.org.ru/topic_7327_0.html

6. добавил папку проекта (папка 123) папку с  QextserialPort
далее в 123.pro добавил следующее

QT       -= gui
unix:DEFINES   = _TTY_POSIX_
win32:DEFINES  = _TTY_WIN_
LIBS          += -lqextserialport


TARGET = 123
CONFIG   += console
CONFIG   -= app_bundle


Далее подключилв   #include <qextserialport/qextserialport.h> в main.cpp
терь пітаюсь собрать проект.

#include <QtCore/QCoreApplication>
#include <qextserialport/qextserialport.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    return a.exec();
}

Все после єтого компилю проект и получаю ВОТ ТАКОЕ:

/home/druid/123/./qextserialport/posix_qextserialport.h:12: In file included from ./qextserialport/posix_qextserialport.h:12,
/home/druid/123/./qextserialport/qextserialport.h:7: from ./qextserialport/qextserialport.h:7,
/home/druid/123/main.cpp:3: from main.cpp:3:
/home/druid/123/./qextserialport/qextserialbase.h:174: ошибка: ‘Offset’ does not name a type
/home/druid/123/./qextserialport/qextserialbase.h:204: ошибка: ‘Q_LONG’ does not name a type
/home/druid/123/./qextserialport/qextserialbase.h:205: ошибка: ‘Q_LONG’ does not name a type
/home/druid/123/./qextserialport/qextserialport.h:7: In file included from ./qextserialport/qextserialport.h:7,
/home/druid/123/main.cpp:3: from main.cpp:3:
/home/druid/123/./qextserialport/posix_qextserialport.h:28: ошибка: ‘Q_ULONG’ does not name a type
/home/druid/123/./qextserialport/posix_qextserialport.h:43: ошибка: ‘Offset’ does not name a type
/home/druid/123/./qextserialport/posix_qextserialport.h:63: ошибка: ‘Q_LONG’ does not name a type
/home/druid/123/./qextserialport/posix_qextserialport.h:64: ошибка: ‘Q_LONG’ does not name a type

Вот такие пироги! Не может эт я еше в шлеме  может ниче не понимаю. но что я ему токо не делал, нич не помогает.
Заранее спасиба за ответ!!! Подскажите пожалуйста в ч чем я не прав!!!!
Записан
BRE
Гость
« Ответ #1 : Ноябрь 02, 2009, 23:28 »

Библиотека QextSerialPort 0.9 разработана для Qt3. И ты ее собираешь для Qt3.
Но использовать ты ее пытаешься с Qt4. Не получиться.

Камрад kuzulis разрабатывает подобную библиотеку для Qt4. Поищи по форуму темы про QSerialDevice.
Вот кстати одна из них: http://www.prog.org.ru/topic_9537_0.html
« Последнее редактирование: Ноябрь 02, 2009, 23:34 от BRE » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #2 : Ноябрь 03, 2009, 01:23 »

QextserialPort 1.x.x поддерживает Qt4
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #3 : Ноябрь 03, 2009, 08:34 »

Улыбающийся
2 druid ,
вот тебе прямой линк:
http://fireforge.net/projects/qserialdevice/

Качай версию 0.1.0, там в архиве есть примерчики и документация краткая.

Так-же можеш там-же скачать  последний срез SVN (вчера я обновил) - но не тестировал: http://fireforge.net/scm/?group_id=199

ЗЫ: а вообще попробуй или QextSerialPort или QSerialDevice - и выбери то что тебе понравится Улыбающийся
ЗЫЫ: QextSerialPort переехал с sourceforge в google: http://code.google.com/p/qextserialport/
Записан

ArchLinux x86_64 / Win10 64 bit
druid
Гость
« Ответ #4 : Ноябрь 04, 2009, 00:20 »

Да вот попорбывал ниче не полуичилось :
скачал я qserialdevice-scm-latest.tar.gz, розархивировал, пытаюсь собрать библиотку как написано в readme
 
Сперва:
qmake project.pro
Потом:      
  make
и получаю отакой error:

make[1]: Entering directory `/home/druid/Рабочий стол/qserialdevice-scm-2009-11-03/qserialdevice/src'
g++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i586 -mtune=generic -fasynchronous-unwind-tables  -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/lib/qt-3.3/include -Ibuild/moc/ -o build/obj/abstractserial.o abstractserial.cpp
abstractserial.cpp:387:23: error: QStringList: Нет такого файла или каталога
abstractserial.cpp:388:36: error: QAbstractEventDispatcher: Нет такого файла или каталога
abstractserial.cpp:389:17: error: QTime: Нет такого файла или каталога
In file included from abstractserial.cpp:391:
abstractserialengine.h:27:19: error: QObject: Нет такого файла или каталога
In file included from abstractserialengine.h:29,
                 from abstractserial.cpp:391:
abstractserial.h:27:21: error: QIODevice: Нет такого файла или каталога
abstractserial.h:28:16: error: QMap: Нет такого файла или каталога
abstractserial.h:29:21: error: QDateTime: Нет такого файла или каталога
abstractserial.cpp:396:18: error: QDebug: Нет такого файла или каталога
abstractserial.cpp:397:19: error: QString: Нет такого файла или каталога
In file included from abstractserialengine.h:29,
                 from abstractserial.cpp:391:
abstractserial.h:34: ошибка: expected class-name before ‘{’ token
abstractserial.h:35: ошибка: ‘Q_OBJECT’ does not name a type
In file included from abstractserialengine.h:29,
                 from abstractserial.cpp:391:
abstractserial.h:178: ошибка: expected ‘)’ before ‘*’ token
abstractserial.h:181: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:181: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:182: ошибка: ‘QString’ does not name a type
abstractserial.h:187: ошибка: ‘QStringList’ does not name a type
abstractserial.h:191: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:191: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:192: ошибка: ‘QString’ does not name a type
abstractserial.h:193: ошибка: ‘QStringList’ does not name a type
abstractserial.h:196: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:196: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:197: ошибка: ‘QString’ does not name a type
abstractserial.h:198: ошибка: ‘QStringList’ does not name a type
abstractserial.h:201: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:201: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:202: ошибка: ‘QString’ does not name a type
abstractserial.h:203: ошибка: ‘QStringList’ does not name a type
abstractserial.h:206: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:206: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:207: ошибка: ‘QString’ does not name a type
abstractserial.h:208: ошибка: ‘QStringList’ does not name a type
abstractserial.h:211: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:211: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:212: ошибка: ‘QString’ does not name a type
abstractserial.h:213: ошибка: ‘QStringList’ does not name a type
abstractserial.h:221: ошибка: ‘ulong’ does not name a type
abstractserial.h:224: ошибка: ‘OpenMode’ has not been declared
abstractserial.h:229: ошибка: ‘qint64’ does not name a type
abstractserial.h:241: ошибка: ‘qint64’ does not name a type
abstractserial.h:242: ошибка: ‘qint64’ does not name a type
abstractserial.h:245: ошибка: ISO C++ запрещает декларации ‘Q_DECLARE_PRIVATE’ без типа
abstractserial.h:246: ошибка: expected ‘;’ before ‘Q_DISABLE_COPY’
abstractserial.h:252: ошибка: ISO C++ запрещает декларации ‘QMap’ без типа
abstractserial.h:252: ошибка: expected ‘;’ before ‘<’ token
abstractserial.h:253: ошибка: ISO C++ запрещает декларации ‘QMap’ без типа
abstractserial.h:253: ошибка: expected ‘;’ before ‘<’ token
abstractserial.h:254: ошибка: ISO C++ запрещает декларации ‘QMap’ без типа
abstractserial.h:254: ошибка: expected ‘;’ before ‘<’ token
abstractserial.h:255: ошибка: ISO C++ запрещает декларации ‘QMap’ без типа
abstractserial.h:255: ошибка: expected ‘;’ before ‘<’ token
abstractserial.h:256: ошибка: ISO C++ запрещает декларации ‘QMap’ без типа
abstractserial.h:256: ошибка: expected ‘;’ before ‘<’ token
abstractserial.h:259: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:259: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:260: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:260: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:261: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:261: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:262: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:262: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:263: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:263: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:264: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.h:264: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.h:266: ошибка: ‘QString’ does not name a type
abstractserial.h:267: ошибка: ‘QString’ does not name a type
abstractserial.h:268: ошибка: ‘QString’ does not name a type
abstractserial.h:269: ошибка: ‘QString’ does not name a type
abstractserial.h:270: ошибка: ‘QString’ does not name a type
abstractserial.h:271: ошибка: ‘QString’ does not name a type
In file included from abstractserialengine.h:29,
                 from abstractserial.cpp:391:
abstractserial.h:239: предупреждение: нестатический константный элемент ‘AbstractSerialPrivate* const AbstractSerial::d_ptr’ в классе без конструктора
In file included from abstractserialengine.h:29,
                 from abstractserial.cpp:391:
abstractserial.h:280: ошибка: ISO C++ запрещает декларации ‘Q_DECLARE_PUBLIC’ без типа
abstractserial.h:281: ошибка: expected ‘;’ before ‘public’
In file included from abstractserial.cpp:391:
abstractserialengine.h:33: ошибка: expected class-name before ‘{’ token
abstractserialengine.h:34: ошибка: ISO C++ запрещает декларации ‘Q_OBJECT’ без типа
abstractserialengine.h:35: ошибка: expected ‘;’ before ‘public’
abstractserialengine.h:39: ошибка: expected ‘;’ before ‘(’ token
abstractserialengine.h:42: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserialengine.h:42: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserialengine.h:43: ошибка: ‘QStringList’ does not name a type
abstractserialengine.h:51: ошибка: ‘QIODevice’ has not been declared
abstractserialengine.h:51: ошибка: expected ‘,’ or ‘...’ before ‘mode’
abstractserialengine.h:60: ошибка: ‘ulong’ does not name a type
abstractserialengine.h:62: ошибка: ‘qint64’ does not name a type
abstractserialengine.h:64: ошибка: ‘qint64’ does not name a type
abstractserialengine.h:65: ошибка: ‘qint64’ does not name a type
abstractserialengine.h:74: ошибка: ‘QString’ does not name a type
abstractserialengine.h:90: ошибка: expected primary-expression before ‘void’
abstractserialengine.h:90: ошибка: ISO C++ запрещает декларации ‘Q_SIGNALS’ без типа
abstractserialengine.h:90: ошибка: expected ‘;’ before ‘void’
abstractserialengine.h:95: ошибка: ‘QObject’ has not been declared
abstractserialengine.h:97: ошибка: ISO C++ запрещает декларации ‘Q_DECLARE_PRIVATE’ без типа
abstractserialengine.h:98: ошибка: expected ‘;’ before ‘Q_DISABLE_COPY’
abstractserialengine.h:99: ошибка: expected ‘;’ before ‘}’ token
abstractserialengine.h:97: ошибка: cannot declare parameter ‘<anonymous>’ to be of abstract type ‘AbstractSerialEngine’
abstractserialengine.h:33: замечание:   because the following virtual functions are pure within ‘AbstractSerialEngine’:
abstractserialengine.h:44: замечание:    virtual bool AbstractSerialEngine::setBaudRate(AbstractSerial::BaudRate)
abstractserialengine.h:45: замечание:    virtual bool AbstractSerialEngine::setDataBits(AbstractSerial::DataBits)
abstractserialengine.h:46: замечание:    virtual bool AbstractSerialEngine::setParity(AbstractSerial::Parity)
abstractserialengine.h:47: замечание:    virtual bool AbstractSerialEngine::setStopBits(AbstractSerial::StopBits)
abstractserialengine.h:48: замечание:    virtual bool AbstractSerialEngine::setFlowControl(AbstractSerial::Flow)
abstractserialengine.h:49: замечание:    virtual bool AbstractSerialEngine::setCharIntervalTimeout(int)
abstractserialengine.h:51: замечание:    virtual bool AbstractSerialEngine::open(int)
abstractserialengine.h:52: замечание:    virtual void AbstractSerialEngine::close()
abstractserialengine.h:53: замечание:    virtual bool AbstractSerialEngine::flush()
abstractserialengine.h:54: замечание:    virtual bool AbstractSerialEngine::reset()
abstractserialengine.h:57: замечание:    virtual bool AbstractSerialEngine::setDtr(bool)
abstractserialengine.h:58: замечание:    virtual bool AbstractSerialEngine::setRts(bool)
abstractserialengine.h:67: замечание:    virtual bool AbstractSerialEngine::waitForRead(int, bool*) const
abstractserialengine.h:68: замечание:    virtual bool AbstractSerialEngine::waitForWrite(int, bool*) const
abstractserialengine.h:69: замечание:    virtual bool AbstractSerialEngine::waitForReadOrWrite(bool*, bool*, bool, bool, int, bool*) const
abstractserialengine.h:84: замечание:    virtual bool AbstractSerialEngine::isReadNotificationEnabled() const
abstractserialengine.h:85: замечание:    virtual void AbstractSerialEngine::setReadNotificationEnabled(bool)
abstractserialengine.h:86: замечание:    virtual bool AbstractSerialEngine::isWriteNotificationEnabled() const
abstractserialengine.h:87: замечание:    virtual void AbstractSerialEngine::setWriteNotificationEnabled(bool)
abstractserialengine.h:107: ошибка: ‘QString’ does not name a type
abstractserial.cpp:419: ошибка: определение неявно декларированного ‘AbstractSerialPrivate::AbstractSerialPrivate()’
abstractserialengine.h: In member function ‘void AbstractSerialPrivate::resetSerialLayer()’:
abstractserialengine.h:37: ошибка: ‘virtual AbstractSerialEngine::~AbstractSerialEngine()’ is private
abstractserial.cpp:438: ошибка: в данном контексте
abstractserial.cpp: In member function ‘bool AbstractSerialPrivate::initSerialLayer()’:
abstractserial.cpp:445: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:445: ошибка: нет декларации ‘Q_Q’ в этой области видимости
abstractserial.cpp:447: ошибка: ‘createSerialEngine’ is not a member of ‘AbstractSerialEngine’
abstractserial.cpp:447: ошибка: нет декларации ‘q’ в этой области видимости
abstractserial.cpp: In member function ‘void AbstractSerialPrivate::setupSerialNotifiers()’:
abstractserial.cpp:455: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:455: ошибка: нет декларации ‘Q_Q’ в этой области видимости
abstractserial.cpp:458: ошибка: нет декларации ‘q’ в этой области видимости
abstractserial.cpp:458: ошибка: ‘QIODevice’ has not been declared
abstractserial.cpp:459: ошибка: ‘QIODevice’ has not been declared
abstractserialengine.h:85: ошибка: ‘virtual void AbstractSerialEngine::setReadNotificationEnabled(bool)’ is private
abstractserial.cpp:460: ошибка: в данном контексте
abstractserial.cpp:461: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:461: ошибка: нет декларации ‘readNotification’ в этой области видимости
abstractserial.cpp:461: ошибка: нет декларации ‘SIGNAL’ в этой области видимости
abstractserial.cpp:461: ошибка: нет декларации ‘SLOT’ в этой области видимости
abstractserial.cpp:463: ошибка: ‘QIODevice’ has not been declared
abstractserial.cpp:469: ошибка: ‘QIODevice’ has not been declared
abstractserialengine.h:85: ошибка: ‘virtual void AbstractSerialEngine::setReadNotificationEnabled(bool)’ is private
abstractserial.cpp:470: ошибка: в данном контексте
abstractserial.cpp:471: ошибка: ‘QObject’ has not been declared
abstractserialengine.h: In member function ‘void AbstractSerialPrivate::enableSerialNotifiers(bool)’:
abstractserialengine.h:85: ошибка: ‘virtual void AbstractSerialEngine::setReadNotificationEnabled(bool)’ is private
abstractserial.cpp:486: ошибка: в данном контексте
abstractserial.cpp: In member function ‘bool AbstractSerialPrivate::canReadNotification()’:
abstractserial.cpp:493: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:493: ошибка: нет декларации ‘Q_Q’ в этой области видимости
abstractserial.cpp:496: ошибка: нет декларации ‘emit’ в этой области видимости
abstractserial.cpp:496: ошибка: expected ‘;’ before ‘q’
abstractserial.cpp:503: ошибка: нет декларации ‘emit’ в этой области видимости
abstractserial.cpp:503: ошибка: expected ‘;’ before ‘q’
abstractserial.cpp: At global scope:
abstractserial.cpp:541: ошибка: expected ‘)’ before ‘*’ token
abstractserial.cpp: In destructor ‘virtual AbstractSerial::~AbstractSerial()’:
abstractserial.cpp:556: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:556: ошибка: нет декларации ‘Q_D’ в этой области видимости
abstractserial.cpp:557: ошибка: нет декларации ‘d’ в этой области видимости
abstractserial.cpp:431: ошибка: ‘virtual AbstractSerialPrivate::~AbstractSerialPrivate()’ is private
abstractserial.cpp:558: ошибка: в данном контексте
abstractserial.cpp: In member function ‘void AbstractSerial::initialiseMaps()’:
abstractserial.cpp:568: ошибка: нет декларации ‘statusesMap’ в этой области видимости
abstractserial.cpp:568: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:569: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:570: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:571: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:572: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:573: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:574: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:575: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:576: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:577: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:578: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:579: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:580: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:581: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:582: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:583: ошибка: ‘QObject’ has not been declared
abstractserial.cpp:584: ошибка: ‘QObject’ has not been declared
abstractserial.cpp: At global scope:
abstractserial.cpp:972: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.cpp:972: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.cpp: In member function ‘bool AbstractSerial::setStopBits(int)’:
abstractserial.cpp:974: ошибка: нет декларации ‘stopBits’ в этой области видимости
abstractserial.cpp: At global scope:
abstractserial.cpp:972: предупреждение: параметр ‘QString’ не используется
abstractserial.cpp:987: ошибка: ‘QString’ does not name a type
abstractserial.cpp:999: ошибка: ‘QStringList’ does not name a type
abstractserial.cpp: In member function ‘bool AbstractSerial::setFlowControl(AbstractSerial::Flow)’:
abstractserial.cpp:1020: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:1020: ошибка: нет декларации ‘Q_D’ в этой области видимости
abstractserial.cpp:1021: ошибка: нет декларации ‘isOpen’ в этой области видимости
abstractserial.cpp:1022: ошибка: нет декларации ‘d’ в этой области видимости
abstractserial.cpp: At global scope:
abstractserial.cpp:1045: ошибка: ISO C++ запрещает декларации ‘QString’ без типа
abstractserial.cpp:1045: ошибка: expected ‘,’ or ‘...’ before ‘&’ token
abstractserial.cpp: In member function ‘bool AbstractSerial::setFlowControl(int)’:
abstractserial.cpp:1047: ошибка: нет декларации ‘flow’ в этой области видимости
abstractserial.cpp: At global scope:
abstractserial.cpp:1045: предупреждение: параметр ‘QString’ не используется
abstractserial.cpp:1060: ошибка: ‘QString’ does not name a type
abstractserial.cpp:1072: ошибка: ‘QStringList’ does not name a type
abstractserial.cpp: In member function ‘bool AbstractSerial::setCharIntervalTimeout(int)’:
abstractserial.cpp:1093: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:1093: ошибка: нет декларации ‘Q_D’ в этой области видимости
abstractserial.cpp:1094: ошибка: нет декларации ‘isOpen’ в этой области видимости
abstractserial.cpp:1095: ошибка: нет декларации ‘d’ в этой области видимости
abstractserial.cpp: In member function ‘int AbstractSerial::charIntervalTimeout() const’:
abstractserial.cpp:1115: ошибка: expected primary-expression before ‘const’
abstractserial.cpp:1115: ошибка: нет декларации ‘Q_D’ в этой области видимости
abstractserial.cpp:1116: ошибка: нет декларации ‘d’ в этой области видимости
abstractserial.cpp: In member function ‘bool AbstractSerial::setDtr(bool)’:
abstractserial.cpp:1133: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:1133: ошибка: нет декларации ‘Q_D’ в этой области видимости
abstractserial.cpp:1134: ошибка: нет декларации ‘isOpen’ в этой области видимости
abstractserial.cpp:1135: ошибка: нет декларации ‘d’ в этой области видимости
abstractserial.cpp: In member function ‘bool AbstractSerial::setRts(bool)’:
abstractserial.cpp:1158: ошибка: expected primary-expression before ‘)’ token
abstractserial.cpp:1158: ошибка: нет декларации ‘Q_D’ в этой области видимости
abstractserial.cpp:1159: ошибка: нет декларации ‘isOpen’ в этой области видимости
abstractserial.cpp:1160: ошибка: нет декларации ‘d’ в этой области видимости
abstractserial.cpp: At global scope:
abstractserial.cpp:1179: ошибка: ‘ulong’ does not name a type
abstractserial.cpp:1212: ошибка: ‘bool AbstractSerial::open’ не является статическим элементом ‘class AbstractSerial’
abstractserial.cpp:1212: ошибка: нет декларации ‘OpenMode’ в этой области видимости
abstractserial.cpp:1213: ошибка: expected ‘,’ or ‘;’ before ‘{’ token
make[1]: *** [build/obj/abstractserial.o] Ошибка 1
make[1]: Leaving directory `/home/druid/Рабочий стол/qserialdevice-scm-2009-11-03/qserialdevice/src'
make: *** [sub-qserialdevice-src] Ошибка 2


Может я чете не понимаю  но у мя  такое подозрение что собака зарыта в этих строчках в readme
=================
1. Должна быть установлена библиотека QT>4.1.1 и правильно настроены её переменные окружения.
2. Должен быть установлен компилятор и настроены его переменные окружения:
    * MinGW - если сборка производится в Windows
    (Примечание: работа с компилятором от MS не тестировалась)
    * gcc - если сборка производится из Linux и т.п.
=================
Но как это исправить, чесно пока нет ни малейшей идеи. Может кто подскажет. спасибо заренне за помощь


Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Ноябрь 04, 2009, 01:42 »

2 druid: Ты же Qt3 используешь!
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #6 : Ноябрь 04, 2009, 08:28 »

Ух.. ёёё Улыбающийся

druid, на всякий пожарный - используй наверное все-таки версию библы 0.1.0 , т.к. в SVN я постоянно вношу изменения и не факт, что оно там будет работать.

+ ко всему - вчера я обнаружил то, что при текущей реализации библиотеки максимально за 1 раз можно прочитать 4096 байт . (из-за того, QIODevice::read() реализован так как мне НЕ надо). т.е. придется мне пересмотреть концепцию и исправить касяк Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
BRE
Гость
« Ответ #7 : Ноябрь 04, 2009, 09:39 »

2 druid: Ты же Qt3 используешь!
+1

2 druid
Для использования Qt3:
qmake
assistant
designer

Для использования Qt4:
qmake-qt4
assistant-qt4
designer-qt4
Записан
druid
Гость
« Ответ #8 : Ноябрь 07, 2009, 02:10 »

За поученую инфу спасиба, библиотека скомпилилась. Но вопрос еше одмн остается  не могу правильно подключить ее к проекту
как я делаю
кидаю в проект папку с собраной библиотекой src (библ Qserialdevice )
в про файл проетка  докиліваю

DEFINES   = _TTY_POSIX_
LIBS += -L/home/druid/test/5/src/release -llibqserialdevice
где /home/druid/test/5/src/release - путь к библ файл "libqserialdevice.a"

на любіе изменения одна и таже ошибка ":-1: error: collect2: выполнение ld завершилось с кодом возврата 1"
Походу неправильно подключена  библиотка.
Народ поскажите как правильно!!!!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #9 : Ноябрь 07, 2009, 03:58 »

>>одна и таже ошибка ":-1: error: collect2: выполнение ld завершилось с кодом возврата 1"
обычно в предыдущей строчке написана причина этой ошибки
Записан

Юра.
BRE
Гость
« Ответ #10 : Ноябрь 07, 2009, 09:22 »

LIBS += -L/home/druid/test/5/src/release -lqserialdevice
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #11 : Ноябрь 07, 2009, 14:20 »

эммм... druid , по-моему ты скачал старую версию, которая deprecated

Нужно скачать новее версию v 0.1.0

Цитировать
DEFINES   = _TTY_POSIX_
этого писать не нужно, т.к. это было с устаревшейй версии

Для того чтобы подключить библиотеку - смотри примеры в архиве в каталогах:
/examples/reader
/examples/sreader
/examples/writer
Записан

ArchLinux x86_64 / Win10 64 bit
druid
Гость
« Ответ #12 : Ноябрь 09, 2009, 22:29 »

Пасиба подключил как в примере заработало Улыбающийся
Но не велите казнить... новая проблема
Я как полжено создаю экземпляр класс

а имено: (ипользую либу  QSerialDevice_v0.1.0)
AbstractSerial *port= new AbstractSerial("/dev/ttyS0");

далее пытаюсь открыть порт
if (port->open(QIODevice::ReadOnly | QIODevice::Unbuffered)==false) {   ui->label->setText("Port is not opened");}
    else   {ui->label->setText("Port is opened");}
в этотм условии присваиваю текст (открыто не отрыто) лейблу  у меня этот метод всегда возращает false.

далее  попробывал найти  все доступные устройства через
qstrlist = port->serialDevicesAvailable(); 
вернул аж 4 штуки
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3

В чем проблема что не открывает порт не пойму! Обеспокоенный Обеспокоенный Обеспокоенный

Записан
druid
Гость
« Ответ #13 : Ноябрь 09, 2009, 22:35 »

Спаспиба уже нашел пробелму,я запскался не из под roota.
Из под рута заработало? а еще вопрос можно єто делать не из под него а просто из под обіччного пользоаптеля
Заранее спасибо!
Записан
sLiva
Гость
« Ответ #14 : Ноябрь 10, 2009, 19:10 »

Спаспиба уже нашел пробелму,я запскался не из под roota.
Из под рута заработало? а еще вопрос можно єто делать не из под него а просто из под обіччного пользоаптеля
Заранее спасибо!

Да можно, нужно своей программе (бинарнику) назначить владельца root и дополнить "стики битом", делается с помощью команды

Код:
chmod gu+s <файл бинарника>

Теперь можно запускать прогу от любого пользователя, и она откроет порт.

Кстати сам использую данный вариант, но он мне на самом деле не очень нравится, повышение привилегий проге это как то не чисто, может кто знает другой способ получить доступ к последовательному порту (/dev/ttyS*) без полномочий рута, или это не возможно?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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