Я пытаюсь использовать QSerialDevice в Qt для подключения к моему последовательному порту.Я также пробовал QextSerialPort раньше (который работает в Windows Vista, но, к сожалению, не в Windows XP ...), но мне нужен API, который поддерживает XP, Vista и Win7 ... Я собираю библиотеку и настраиваю ее следующим образом:
CONFIG += dll
CONFIG += debug
Я использовал текущую версию из SVN (0.2.0 - 2010-04-05) и zip-пакет 0.2.0.
После сборки библиотеки я скопировал ее в свой Qt Libdir (C: \Qt \ 2009.05 \ qt \ lib), а также в C: \ Windows \ system32.Теперь я пытаюсь сделать ссылку на библиотеку в моем файле проекта:
LIBS += -lqserialdevice
Я импортирую необходимый заголовок (abstractserial.h) и использую свой собственный AbstractSerial, например:
// Initialize
this->serialPort->setDeviceName("COM1");
if (!this->serialPort->open(QIODevice::ReadWrite | QIODevice::Unbuffered))
qWarning() << "Error" << this->serialPort->errorString();
// Configure SerialPort
this->serialPort->setBaudRate(AbstractSerial::BaudRate4800);
this->serialPort->setDataBits(AbstractSerial::DataBits8);
this->serialPort->setFlowControl(AbstractSerial::FlowControlOff);
this->serialPort->setParity(AbstractSerial::ParityNone);
this->serialPort->setStopBits(AbstractSerial::StopBits1);
проблема в том, что, если я запускаю свое приложение, оно сразу падает с кодом выхода -1073741515 (приложение не удалось правильно инициализировать).Это та же ошибка, что и при использовании QextSerialPort в Windows XP (она работала с Windows Vista).
Если я собираю QSerialDevice lib с конфигурацией выпуска, а также с моей программой, она сразу падает, но с кодом выхода -1073741819
Может ли кто-нибудь помочь мне с этой программой или другим решением заставить последовательный порт работать с Qt (может быть, другим API или чем-то еще?). В противном случае мне придется использовать функции Windows API, которые означают, что моя программа не будет работать с UNIX.системы ..
Если у вас есть решение проблемы с QextSerialPort под WinXP SP3, они также приветствуются;)
С наилучшими пожеланиями,
Тобиас