Labview 入坑(2)--Labview调用VSC++、C#、QtC++的dll文件

一、调用C++库

原本比较熟悉Qt 想用Qt 创建个dll给Labview,但是好像测试时,没有用VS创建出来的dll导入那么顺利Qt Creator创建出来的是类,感觉labview对C++类好像导入有点问题,至少我导入时是识别不到类的.
1、记录下创建Qt库的过程,我这边是32位的labview 所以选择32位的dll
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
默认的dll文件会创建一个类出来,这个类导入labview 是识别不出来的,需要将类去除直接修改成函数去调用。
在这里插入图片描述
cpp修改成入下

#include "qdllcore.h"

int QSumInt(int num1, int num2)
{
    return   num1 + num2;
}

.h文件修改如下

#ifndef QDLLCORE_H
#define QDLLCORE_H
#include "qdllcore_global.h"

QDLLCORE_EXPORT int QSumInt(int num1, int num2);
#endif // QDLLCORE_H

然后编译生成dll文件在debug里,出错不需要管(因为dll没有法直接运行)
在这里插入图片描述
测试dll 找个例子拖动2个输入数值控件一个输出测试以下加减法
在这里插入图片描述
拖成这个样子

在这里插入图片描述
更换箭头工具双击进入后面板导入对应的库,空白区域右键拖入
在这里插入图片描述
拖入后双击调用函数节点,然后选择对应的dll文件,识别完修改对应的函数输入输出映射
在这里插入图片描述
这个参数需要手动的选择
在这里插入图片描述
在这里插入图片描述
选择完点击确定就剩下连接线了
在这里插入图片描述
然后点击运行就成功了。
在这里插入图片描述

二、用同样的方法测试下VS下创建的C++库(连线就省略了)

C++库调用都一样,就是VS创建动态dll有区别
在这里插入图片描述
创建完后生成默认的几个文件
在这里插入图片描述
自己添加个.h和.cpp文件,敲入代码
.h文件

extern "C" __declspec(dllexport) int  SumInt(int num1, int num2);

.cpp文件

#include "pch.h"
#include "dllapi.h"
int  SumInt(int num1,int num2)
{
    return   num1 + num2; 
}

在这里插入图片描述
在这里插入图片描述
编译出dll文件完和Qt加载dll一样创建个空白VI,拖动对应的空间,最后加载dll
反正VS创建完没有乱码,感觉比较舒服

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行也正常

三、C# 的.net dll

看labview 官网是说对.net 支持会比较好。所以就搞个.net库来试试。
一样新建.net的dll文件

在这里插入图片描述
创建.net库工程,名字自行命名。没有头文件比较简单
搞个方法放进去

    public class DllApi
    {
        public double add(double a, double b) {
            return a + b;      
        }
    }

在这里插入图片描述
编译出dll报错无需理会
在这里插入图片描述
拖入面板还是一样的控件
在这里插入图片描述
转到背板后,拖动出对应的节点,因为C#可以导入类,所以还需要从类里面导入方法。
在这里插入图片描述
再对应的拖入方法
在这里插入图片描述
在这里插入图片描述
然后去方法那边选择方法
在这里插入图片描述
连接对应的连接线运行,和前面两个都一样,但是C#感觉支持比较舒服,还能导入控件什么的
在这里插入图片描述

四、总结

VS 创建出来的C++ dll 和QT 创建出来的C++dll  VS兼容比较好,函数名称可以看得清楚(预计是QT的编码格式问题),但是两个函数都是正常使用的,.net 创建的dll 很好的兼容,而且自定义控件也是可以拉入的,也可以导入C#的类,和属性。整体兼容比较舒服
  • 4
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值