簡體   English   中英

Qt QextSerialPort靜態lib

[英]Qt QextSerialPort static lib

如何為Windows平台創建一個QextSerialPort靜態庫,以便與Qt 4.8.5一起使用

我不明白如何修改.pro或.pri文件來執行此操作。 (.prf文件不斷重新生成)。

所以我嘗試修改生成的.vcproj文件以進行靜態構建,並刪除了一些定義,但我仍然得到如下警告:

qextserialport.lib(qextserialport.obj):警告LNK4006:“public:__ thishisall QextSerialPort :: QextSerialPort(class QString const&,enum QextSerialPort :: QueryMode,class QObject *)”(?? 0QextSerialPort @@ QAE @ ABVQString @@ W4QueryMode @ 0 @ PAVQObject @@@ Z)已在qextserialportd1.lib(qextserialportd1.dll)中定義; 忽略第二個定義

並在運行時獲得“系統錯誤:程序無法啟動,因為您的計算機缺少qextserailportd1.dll”。 當然這是真的,因為我試圖使用.lib進行靜態構建

那么我該如何正確地進行靜態構建呢?

無需構建QextSerialPort的靜態庫。 您只需在應用程序中使用源代碼即可。 只需在.pro文件中包含它的.pri文件:

include(Path/To/qextserialport.pri)

或者將QextSerialPort源代碼從src目錄復制到您的應用程序目錄,並將以下行添加到項目文件中:

include(qextserialport.pri)

現在您可以包含頭文件:

#include "qextserialport.h"

並使用該庫:

QextSerialPort * port = new QextSerialPort("COM1");
connect(port, SIGNAL(readyRead()), this, SLOT(onDataAvailable()));
port->open();

無需鏈接庫或將dll用於部署。

感謝Nejat的回復。 非常清楚。

另外,對於跟隨我的腳步的人來說,這是一個為我閱讀手冊的案例。 答案在: https//code.google.com/p/qextserialport/wiki/QextSerialPort_1_2_RC

它明確地說要添加CONFIG + = qesp_static

到.pro文件。 這也有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM