Qt工作笔记-Qt creator如何生成dll,以及如何移植到vs上
首先用Qt Creator創(chuàng)建一個(gè)庫項(xiàng)目:
在類中添加一個(gè)add函數(shù),并實(shí)現(xiàn)他:
?
直接就可以生成為一個(gè)dll
因?yàn)槭鞘褂肕inGW的編譯器所以會(huì)有.a文件;
把程序移動(dòng)過去!
接著用另外一個(gè)項(xiàng)目進(jìn)行調(diào)用,在pro文件添加
?
把生成的.h加進(jìn)去,如下圖:
就闊以了,
運(yùn)行截圖如下:
?
源碼如下:
dll項(xiàng)目里面hellowlibrary.h和hellowlibrary_global.h不給出了!
?
widget.h
#ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();public slots:void btnClicked();private:Ui::Widget *ui; };#endif // WIDGET_Hmain.cpp
#include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }widget.cpp
#include "widget.h" #include "ui_widget.h" #include "hellowlibrary.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(btnClicked())); }Widget::~Widget() {delete ui; }void Widget::btnClicked() {HellowLibrary *lib=new HellowLibrary;int value=lib->hellowAdd(ui->add1LineEdit->text().toInt(),ui->add2LineEdit->text().toInt());ui->equLineEdit->setText(QString::number(value)); }?
如何移植到vs上。
這里采用傳統(tǒng)的方法,把程序?qū)氲絭s,生成dll,這里因?yàn)槭荕SVC所以他會(huì)有l(wèi)ib
源碼不需要做任何修改:
?
在把lib和dll放到自己想好的位置上,
?
?
在另外一個(gè)項(xiàng)目使用的時(shí)候。
VS開發(fā)Qt項(xiàng)目的時(shí)候:
pro不要加dll
pro里面不要加dll
pro里面不要加dll
重要的話說3遍
?
自己配VS下面的
C/C++->常規(guī)->附加包含目錄
鏈接器->常規(guī)->附加目錄
累加器->輸入->附件依賴項(xiàng)
總結(jié)
以上是生活随笔為你收集整理的Qt工作笔记-Qt creator如何生成dll,以及如何移植到vs上的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt工作笔记-动态折线图(x轴坐标会改变
- 下一篇: VS加快程序编译速度——以VS2013为