[英]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.