crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Проблема с qextserialport-1.2 для Windows, Ошибка
semen_992
  опции профиля:
сообщение 30.8.2009, 16:20
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 30.8.2009
Пользователь №: 1035

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте!

Есть проблема с бибилиотекой 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
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


Давай уточним в заголовке написано ЭПроблема с qextserialport-1.2 для Windows, Ощибка"
далее Код:
unix:DEFINES = _TTY_POSIX_
+
QextSerialPort *port = new QextSerialPort("/dev/ttyS0");
что говорит о том что проект всетаки для никсов???
ты меня запутал...
просто чтоб мне проверить как это будет у меня я должен определиться с платформой
жду...
ну а ошибка то стандартная - линкер не нашел либу... ты лучше выложи весь код... так быстрее будет... в том числе файл проекта

Сообщение отредактировал ЙаМайскЫйПчОЛ - 30.8.2009, 18:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 30.8.2009, 18:38
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


в режиме дебага собирается, в релизе "collect2: ld returned 1 exit status"
сужаем проблемму...
вывод : сделай сборку либы с опцией только релиз и будет тебе счастье...
предварительно посмотри текст файла проекта либы - там прямо написано

CONFIG(debug, debug|release) {
    TARGET = qextserialportd
} else {
    TARGET = qextserialport
}

и незабудь держать dll'ку поближе к экзэшнику - или там системные переменные порисовать.. вопщем я просто бросил дллку в папку с бинарником экзампла

Сообщение отредактировал ЙаМайскЫйПчОЛ - 30.8.2009, 18:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
semen_992
  опции профиля:
сообщение 31.8.2009, 8:05
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 30.8.2009
Пользователь №: 1035

Спасибо сказали: 0 раз(а)




Репутация:   0  


В про файле добавил строки:
"
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
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


просто собири либу как release и все
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ComPort
  опции профиля:
сообщение 20.12.2010, 13:12
Сообщение #6


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 20.12.2010
Пользователь №: 2283

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ЙаМайскЫйПчОЛ @ 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
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ComPort @ 20.12.2010, 15:12) *
Распаковал архив qextserialport-1.1 и в проекте подключил заголовочный файл
от одного заголовочного файла толку мало.

Прочитай внимательно сообщение, которое ты цитировал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ComPort
  опции профиля:
сообщение 21.12.2010, 8:42
Сообщение #8


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 20.12.2010
Пользователь №: 2283

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(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
Причина редактирования: используй тэг code
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.12.2010, 19:06
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(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
Сообщение #10





Гости








    


Цитата(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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.8.2022, 10:17