前言
由于Windows10的QT5.15项目需要与新代数控系统做数据交换,一开始打算尝试用OPC UA的,哪知收费价格死贵,新代的销售也是藏着掖着的,不得已另寻它径,然后发现了C#的dll,奈何没有C++版本,只有C#版本。
一、网上摘录的经验总结
C++编写的程序为非托管代码,C#编写的程序为托管代码。
非托管代码调用托管代码的DLL不只有一种方式,本文采用了CLR的方式。
说明:Qt是不能直接调用C#生成的dll,需要将C#的编写的dll通过CLR编译成lib
CLR相当于给C# dll文件套了一层C++认识的壳。
二、CLR的安装和使用
检查VS环境是否装好:看下图勾选部分是否安装,图中的.NET桌面开发也建议勾选上
1.VS2019中的使用
新建C++项目,选下图选项:选择CLR类库.NET Framework
我的.NET是4.7.2
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ce6ecd89a2d94f468d8d01d2b2beabcf.png
CLR项目的属性页->高级 需要改为下图,V4.7.2只是查看,按你自己本电脑的需求来:
2.C#的dll文件
将C#的dll文件复制到CLR项目项目文件夹下,由于这里用的是新代的dll,所以比较多(此时一定要搞清楚你