1

静的ライブラリとそれを使用する別のプログラムがあります。

静的ライブラリでは、継承なしでヘッダーを定義すると、正常に機能します。

class TcpCommunication

一方、QTクラスで継承を使用すると、

class TcpCommunication:public QTcpServer

このスタティック ライブラリを使用するコードをコンパイルすると、リンケージ エラーが発生します。

>MStoDKAPId.lib(TcpCommunication.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QTcpServer::~QTcpServer(void)" (__imp_??1QTcpServer@@UAE@XZ) referenced in function "public: virtual __thiscall TcpCommunication::~TcpCommunication(void)" (??1TcpCommunication@@UAE@XZ)

何が問題になる可能性がありますか? ありがとう。

4

2 に答える 2

4

QTcpServer クラスの定義を含むライブラリへの参照を追加する必要があります。

IDE にはリンク オプションを指定するオプションが必要です。そのうちの 1 つはライブラリの名前で、もう 1 つはライブラリの検索パスを指定するものです。これら 2 つを更新して、QT フレームワークのパス / ライブラリを追加します。

于 2010-05-18T11:28:32.257 に答える
3

静的ライブラリを使用するアプリケーションも QT にリンクする必要があります

于 2010-05-18T11:27:28.047 に答える