Версия для печати темы
Форум на CrossPlatform.RU _ Qt Общие вопросы _ Проблема с qextserialport-1.2 для Windows
Автор: semen_992 30.8.2009, 16:20
Здравствуйте!
Есть проблема с бибилиотекой QextSerialPort 1.2.
Подключил по инструкции -
"Вы в профайле вашего проекта добавили строку
Код:
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);
.....
"
Но при компиляции возвращается ощибка: "collect2: ld returned 1 exit status"
Пробовал примеры которые шли вместе с библиотекой - тоже самое.
Может кто уже встречался с этим?
Автор: ЙаМайскЫйПчОЛ 30.8.2009, 18:05
Давай уточним в заголовке написано ЭПроблема с qextserialport-1.2 для Windows, Ощибка"
далее Код:
unix:DEFINES = _TTY_POSIX_
+
QextSerialPort *port = new QextSerialPort("/dev/ttyS0");
что говорит о том что проект всетаки для никсов???
ты меня запутал...
просто чтоб мне проверить как это будет у меня я должен определиться с платформой
жду...
ну а ошибка то стандартная - линкер не нашел либу... ты лучше выложи весь код... так быстрее будет... в том числе файл проекта
Автор: ЙаМайскЫйПчОЛ 30.8.2009, 18:38
в режиме дебага собирается, в релизе "collect2: ld returned 1 exit status"
сужаем проблемму...
вывод : сделай сборку либы с опцией только релиз и будет тебе счастье...
предварительно посмотри текст файла проекта либы - там прямо написано
CONFIG(debug, debug|release) {
TARGET = qextserialportd
} else {
TARGET = qextserialport
}
и незабудь держать dll'ку поближе к экзэшнику - или там системные переменные порисовать.. вопщем я просто бросил дллку в папку с бинарником экзампла
Автор: semen_992 31.8.2009, 8:05
В про файле добавил строки:
"
LIBS += -lqextserialport
win32:DEFINES = _TTY_WIN_
"
и сам код:
CODE
#include <QtGui/QApplication>
#include "dialog.h"
#include <qextserialport.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
QextSerialPort *port = new QextSerialPort("COM1");
port->setBaudRate(BAUD19200);
port->setFlowControl(FLOW_OFF);
port->setParity(PAR_NONE);
port->setDataBits(DATA_8);
port->setStopBits(STOP_2);
return a.exec();
}
Использую
Qt Creator 1.2.1
Автор: ЙаМайскЫйПчОЛ 31.8.2009, 8:24
просто собири либу как release и все
Автор: ComPort 20.12.2010, 13:12
Цитата(ЙаМайскЫйПчОЛ @ 31.8.2009, 8:24)
просто собири либу как release и все
Распаковал архив qextserialport-1.1 и в проекте подключил заголовочный файл
#include "D:\qextserialport-1.1\qextserialport\qextserialport.h"
Но при сборке ругается QextSerialPort *port = new QextSerialPort("COM1");
пишет Undefined reference to QextSerialPort::QextSerialPort(QString const&)
Че это такое?
Автор: Litkevich Yuriy 20.12.2010, 18:02
Цитата(ComPort @ 20.12.2010, 15:12)
Распаковал архив qextserialport-1.1 и в проекте подключил заголовочный файл
от одного заголовочного файла толку мало.
Прочитай внимательно сообщение, которое ты цитировал.
Автор: ComPort 21.12.2010, 8:42
Цитата(Litkevich Yuriy @ 20.12.2010, 18:02)
Цитата(ComPort @ 20.12.2010, 15:12)
Распаковал архив qextserialport-1.1 и в проекте подключил заголовочный файл
от одного заголовочного файла толку мало.
Прочитай внимательно сообщение, которое ты цитировал.
Как релиз у меня мой проект не компилится, те же ошибки, а dll'ка собралась.
Вот файл pro, где я прописываю dll, что лежит в папке проекта
#-------------------------------------------------
#
# Project created by QtCreator 2010-12-20T09:03:40
#
#-------------------------------------------------
QT += core gui
TARGET = comport
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
win32:INCLUDEPATH +=C:\Qt\2010.05\qt\comport\
win32:LIBS += qextserialport.dll
win32:DEFINES = _TTY_WIN_
FORMS += mainwindow.ui
Автор: Litkevich Yuriy 25.12.2010, 19:06
Цитата(ComPort @ 21.12.2010, 10:42)
win32:LIBS += qextserialport.dll
а путь к этой dll-ке не указан, кури
QMAKE_LIBDIRЦитата(ComPort @ 21.12.2010, 10:42)
win32:INCLUDEPATH +=C:\Qt\2010.05\qt\comport\
А точно в этом каталоге лежат заголовочники?
Автор: Гость_ComPort_* 28.12.2010, 10:58
Цитата(Litkevich Yuriy @ 25.12.2010, 19:06)
Цитата(ComPort @ 21.12.2010, 10:42)
win32:LIBS += qextserialport.dll
а путь к этой dll-ке не указан, кури
QMAKE_LIBDIRЦитата(ComPort @ 21.12.2010, 10:42)
win32:INCLUDEPATH +=C:\Qt\2010.05\qt\comport\
А точно в этом каталоге лежат заголовочники?
Да, я там проект сделал и туда все распаковал, DLL тоже там же лежит рядом с файлом *.pro
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)