2013-07-03 1 views
2

Я использую Qt 4.7.4 и Qt Creator 2.4.1. Я пытаюсь создать код blockingmaster для последовательной связи, например, приведенный на сайте Qt.Qt 4.7 QtSerialPort/QSerialPortInfo: Нет такого файла или каталога

Но после необходимых изменений для моей среды и пути назначения, когда я попытался построить проект. Это дает мне:

QtSerialPort/QSerialPortInfo: No such file or directory 

После выполнения this ссылки (без успеха);

Мой .pro файл выглядит следующим образом:

CONFIG += serialport 
QT += widgets 

TARGET = blockingmaster 
TEMPLATE = app 

HEADERS += \ 
    dialog.h \ 
    masterthread.h 

SOURCES += \ 
    main.cpp \ 
    dialog.cpp \ 
    masterthread.cpp 

Но ошибка остается прежней. Я пробовал вещи вверх.

Последовательная связь через QT - это новая задача для меня, поэтому я пытался использовать пример на веб-сайте Qt. Может ли кто-нибудь предоставить мне больше информации, чтобы избавиться от этой ошибки?

ответ

2

Спасибо всем за их ценные предложения.

Библиотека QtSerialPort является дополнительной функцией для Qt5. Всегда рекомендуется использовать встроенную библиотеку, созданную qt.

Поскольку библиотека QtSerialPort не поддерживается Qt 4.7 или более низкой версией.

Я смог разработать приложение, используя сам Qt 4.7. Он должен включать библиотеку для последовательной связи, поскольку Qt 4.7 не имеет встроенной библиотеки для последовательного порта. Я сделал это с помощью следующей ссылке:

для Windows добавить "qextserialport-1.2rc" (скачать по следующей ссылке)

Qextserialport Example - Hyperterminal Windows

Для Linux добавить библиотеку "myser1.zip" (скачать по следующей ссылке)

Qextserialport Example - Hyperterminal Linux

Выше ссылки также включает в себя приложение для последовательной связи для соответствующей ОС. Добавление библиотек из вышеуказанного приложения помогло мне разработать приложение для моей задачи.

выше ответ поможет разработчикам, которые не позволительны обновить Qt-инструмент из-за компанию политика и т.д.

Надеется, что это поможет другим решать подобные проблемы.

+0

@ LaszloPapp, я понимаю, что этот ответ вводит в заблуждение, но поскольку QtSerialPort не поддерживается версией Qt 4.7. У меня не было выбора. В соответствии с политикой компании я не могу перейти на последнюю версию Qt. Поэтому, я думаю, человек, борющийся с одной и той же проблемой, может решить эту проблему, используя вышеприведенный ответ. – skg

+0

Мы поддерживаем QtSerialPort с 4.7 – lpapp

+0

@LaszloPapp, это действительно возможно? Я пробовал много, но всегда заканчивал сообщения об ошибках. Если это так, то я обязательно обновил бы свое приложение. Благодарим за руководство. – skg

0

Пример, который вы ищете, предназначен для Qt 5 (возможно, даже 5.1), он не будет работать с Qt 4. Попробуйте последний выпуск версии 5.1.

+0

Спасибо за ваш ответ. Ссылка http://qt-project.org/wiki/QtSerialPort показывает, как использовать тот же пример для Qt 4. Также по некоторым причинам я не могу перейти на последнюю версию – skg

+0

Да, наш модуль должен работать с Qt 4. Мы были приложив относительную справедливую сумму усилий, чтобы убедиться, что она работает. Он должен даже работать с Qt 4 для Android через проект requireitas. :-) – lpapp

2

Не могли бы вы попросить 4.8?

Он должен работать с этим, но сначала попробуйте без Qt Creator, а затем, если он будет работать, с IDE.

Мы не протестировали 4,7 в последнее время, следовательно, могут возникнуть проблемы. 4.8 должен работать. Если что-то не так, нам нужно найти основную причину, файл bugreport, и мы исправим его.

Here вы можете найти более подробную информацию об этом модуле, который я написал, когда он стал официальным дополнением Qt.

+0

спасибо за комментарий ур. Некоторые пользователи загружают библиотеки на форумах Qt. Это помогло мне достичь моей цели. Я добавил ссылки, которые я использовал в своем ответе. – skg

+0

@skg: вы смешиваете qextserialport и qserialport. – lpapp