2

Qt 4.7.4Qt Creator 2.4.1を使用しています。Qtサイトにある例のように、シリアル通信用のblockingmasterコードを構築しようとしています。

しかし、プロジェクトをビルドしようとしたときに、環境とパスの宛先に必要な変更を加えた後。それは私に与えます:

QtSerialPort/QSerialPortInfo: No such file or directory

このリンクをたどった後(成功しませんでした);

私の .pro ファイルは次のようになります。

CONFIG += serialport
QT += widgets

TARGET = blockingmaster
TEMPLATE = app

HEADERS += \
    dialog.h \
    masterthread.h

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

しかし、エラーは同じままです。私は物事を逆さまにしてみました。

QTを介したシリアル通信は私にとって新しいタスクなので、QtのWebサイトにある例を試していました。このエラーを取り除くための詳細情報を提供してくれる人はいますか?

4

3 に答える 3

3

貴重な提案をしてくださった皆様に感謝します。

QtSerialPort ライブラリは、Qt5 の追加機能です。qt によって作成された組み込みライブラリを使用することを常にお勧めします。

QtSerialPort ライブラリは Qt 4.7 以下のバージョンではサポートされていないためです。

Qt 4.7 自体を使用してアプリケーションを設計することができました。Qt 4.7にはシリアルポート用の組み込みライブラリがないため、シリアル通信用のライブラリを含める必要があります。私は次のリンクを使用してそれを行いました:

Windows の場合は、「qextserialport-1.2rc」を追加します (次のリンクを使用してダウンロード)。

Qextserialport の例 - ハイパーターミナル ウィンドウ

Linux の場合、ライブラリ「myser1.zip」を追加します (次のリンクを使用してダウンロードします)。

Qextserialport の例 - ハイパーターミナル Linux

上記のリンクには、各 OS のシリアル通信用アプリケーションも含まれています。上記のアプリケーションからライブラリを追加すると、タスク用のアプリケーションを設計するのに役立ちました。

上記の回答は、会社のポリシーなどにより Qt-tool のアップグレードが許可されていない開発者を支援します。

これが他の人が同様の問題を解決するのに役立つことを願っています。

于 2013-08-16T04:38:05.187 に答える
2

4.8を試していただけますか?

これで動作するはずですが、最初に Qt Creator なしで試してから、動作する場合は IDE で試してください。

最近 4.7 をテストしていないため、問題がある可能性があります。4.8 で動作するはずです。何かがうまくいかない場合は、根本的な原因を見つけてバグレポートを提出する必要があり、それを修正します。

ここでは、公式の Qt アドオンになったときに私が書いた、このモジュールに関する詳細情報を見つけることができます。

于 2013-08-14T20:34:52.870 に答える
1

あなたが見ている例は Qt 5 (おそらく 5.1 でさえ) のためのもので、Qt 4 では動作しません。最新の 5.1 リリース候補を試してください。

于 2013-07-03T08:30:43.580 に答える