Qt QextSerialPort 静态库
Qt QextSerialPort static lib
如何为 windows 平台制作 QextSerialPort 静态库以与 Qt 4.8.5
一起使用我不明白如何修改 .pro 或 .pri 文件来执行此操作。 (.prf 文件不断重新生成)。
所以我尝试修改生成的 .vcproj 文件以进行静态构建,并删除了一些定义,但我仍然收到如下警告:
qextserialport.lib(qextserialport.obj) : warning LNK4006: "public: __thiscall QextSerialPort::QextSerialPort(class QString const &,enum QextSerialPort::QueryMode,class QObject *)" (??0QextSerialPort@@QAE@ABVQString@@W4QueryMode@0@PAVQObject@@@Z) already defined in qextserialportd1.lib(qextserialportd1.dll); second definition ignored
并在运行时得到 "System Error: The program can't start because qextserailportd1.dll is missing from your computer"。这当然是正确的,因为我正在尝试使用 .lib
进行静态构建那么如何正确地进行静态构建?
无需构建QextSerialPort静态库。您可以简单地在您的应用程序中使用源代码。只需将其 .pri
文件包含在您的 .pro
文件中即可:
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
明明说要加 配置 += qesp_static
到 .pro 文件。这也行。