2025年labview调用dll动态库使用相对路径(labview如何调用动态链接库)

labview调用dll动态库使用相对路径(labview如何调用动态链接库)记录一下 QT5 动态链接库的创建和使用 在文章的最后有完毕的代码供下载 1 创建动态链接库 先新建一个库项目 选择 chose 进入下一下页面 类型选择共享库 输入一个名称 我输入的是 sld 再点击下一步到 假设这里我们须要 QtGui 所以也勾选上了 再点击下一步直到完毕 我们在 pro 文件中加上 DESTDIR MyDebug 它的意思是我们把生成的内容放到这个目录里

大家好,我是讯享网,很高兴认识大家。



记录一下QT5 动态链接库的创建和使用

在文章的最后有完毕的代码供下载

1.创建动态链接库

先新建一个库项目

技术分享
讯享网

选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld

技术分享

再点击下一步到

技术分享

假设这里我们须要QtGui所以也勾选上了

再点击下一步直到完毕

我们在.pro文件中加上

DESTDIR =..MyDebug

它的意思是我们把生成的内容放到这个目录里,假设没有它会自己主动生成

点击项目把Shadow build 去掉勾选

技术分享

设置完毕后我们来实现方法測试

把sld.h改动成这样

#ifndef SLD_H #define SLD_H

讯享网

#include "sld_global.h" #include <QString>

class SLDSHARED_EXPORT Sld { public :

讯享网Sld(); QString GetStr(); 

};

#endif

它的.cpp

#include "sld.h" #include <QDebug>

Sld::Sld() {

讯享网qDebug()</span>&lt;&lt;<span style="margin:0px; padding:0px; color:rgb(128,0,0); line-height:1.5!important">&quot;&quot;</span><span style="margin:0px; padding:0px; line-height:1.5!important">; 

}

QString Sld::GetStr() {

</span><span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">return</span> <span style="margin:0px; padding:0px; color:rgb(128,0,0); line-height:1.5!important">&quot;</span><span style="margin:0px; padding:0px; color:rgb(128,0,0); line-height:1.5!important">aa</span><span style="margin:0px; padding:0px; color:rgb(128,0,0); line-height:1.5!important">&quot;</span><span style="margin:0px; padding:0px; line-height:1.5!important">; 

}

我们那了一个測试方法返回aa

我们再新加入一个窗口供測试用

技术分享

我给命名为MyDialog

把.h文件改动成

讯享网#ifndef MYDIALOG_H #define MYDIALOG_H

#include &lt;QDialog&gt; #include &quot;sld_global.h&quot; namespace Ui { class MyDialog; }

class SLDSHARED_EXPORT MyDialog : public QDialog {

Q_OBJECT 

public:

讯享网</span><span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">explicit</span> MyDialog(QWidget *parent = <span style="margin:0px; padding:0px; color:rgb(128,0,128); line-height:1.5!important">0</span><span style="margin:0px; padding:0px; line-height:1.5!important">); </span>~<span style="margin:0px; padding:0px; line-height:1.5!important">MyDialog(); 

private:

Ui::MyDialog </span>*<span style="margin:0px; padding:0px; line-height:1.5!important">ui; 

};

#endif // MYDIALOG_H

,cpp

讯享网#include &quot;mydialog.h&quot; #include &quot;ui_mydialog.h&quot;

MyDialog::MyDialog(QWidget *parent) :

QDialog(parent), ui(</span><span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">new</span><span style="margin:0px; padding:0px; line-height:1.5!important"> Ui::MyDialog) 

{

讯享网ui</span>-&gt;setupUi(<span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">this</span><span style="margin:0px; padding:0px; line-height:1.5!important">); 

}

MyDialog::~MyDialog() {

delete ui; 

}

这里什么也没做仅仅是把SLDSHARED_EXPORT加上了

好了就这样。我们构建一下就会在MyDebug目录里生成我们的dll

&nbsp;

2.怎么使用动态链接库

新建一个Qt WidgetsApplication项目

技术分享

在.pro文件中改动和上边一样加上

DESTDIR =..MyDebug 再点击项目把shadow build 去掉

再加上

讯享网INCLUDEPATH +=https://www.u72.net/sld LIBS += -L$$DESTDIR -lsld

&nbsp;

第一句是把sld项目的目录包括到这个项目里来,这样我们就能直接用它里面的头文件了

第二句是告诉编译器lib在哪(我用的是vs的编译器假设 用mingw能够直接加入sld.dll)

我样在窗口上加一个button,并加入槽

.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H

#include &lt;QMainWindow&gt; namespace Ui { class MainWindow; }

class MainWindow : public QMainWindow {

讯享网Q_OBJECT 

public:

</span><span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">explicit</span> MainWindow(QWidget *parent = <span style="margin:0px; padding:0px; color:rgb(128,0,128); line-height:1.5!important">0</span><span style="margin:0px; padding:0px; line-height:1.5!important">); </span>~<span style="margin:0px; padding:0px; line-height:1.5!important">MainWindow(); 

private slots:

讯享网</span><span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">void</span><span style="margin:0px; padding:0px; line-height:1.5!important"> on_pushButton_clicked(); 

private:

Ui::MainWindow </span>*<span style="margin:0px; padding:0px; line-height:1.5!important">ui; 

};

#endif // MAINWINDOW_H

.cpp

讯享网#include &quot;mainwindow.h&quot; #include &quot;ui_mainwindow.h&quot; #include &quot;sld.h&quot; #include &lt;QMessageBox&gt; #include &quot;mydialog.h&quot; MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent), ui(</span><span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">new</span><span style="margin:0px; padding:0px; line-height:1.5!important"> Ui::MainWindow) 

{

讯享网ui</span>-&gt;setupUi(<span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">this</span><span style="margin:0px; padding:0px; line-height:1.5!important">); 

}

MainWindow::~MainWindow() {

delete ui; 

}

void MainWindow::on_pushButton_clicked() {

讯享网MyDialog </span>* my =<span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">new</span> MyDialog(<span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">this</span><span style="margin:0px; padding:0px; line-height:1.5!important">); my</span>-&gt;<span style="margin:0px; padding:0px; line-height:1.5!important">show(); QMessageBox </span>* msg=<span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">new</span> QMessageBox(<span style="margin:0px; padding:0px; color:rgb(0,0,255); line-height:1.5!important">this</span><span style="margin:0px; padding:0px; line-height:1.5!important">); Sld s; msg</span>-&gt;<span style="margin:0px; padding:0px; line-height:1.5!important">setText(s.GetStr()); msg</span>-&gt;<span style="margin:0px; padding:0px; line-height:1.5!important">show(); 

}

好了,构建,执行看效果吧

技术分享



小讯
上一篇 2025-05-14 11:00
下一篇 2025-04-30 10:39

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/193176.html