C++源代码封装成dll动态链接库,并在WPF项目中使用的步骤说明

文章目录

将C++源码生成DLL,并在WPF中使用该DLL的步骤:

  1. 创建 C++ 类库项目,添加对应的.cpp和.h文件,生成C++.dll
  2. 创建C#类库项目,添加C++.dll,使用fody将该C#类库项目发布成NuGet包(NuGet包保存在一个指定文件夹中,该文件夹专用于保存本地NuGet包)
  3. 创建WPF应用程序,通过"管理NuGet"包将上述保存的包添加到新建WPF项目中

1. 创建并生成C++的DLL(C++动态链接库)

(1)新建项目-->开发语言选定C++,在搜索栏搜索"动态链接库"-->配置项目名称和路径-->添加类,此处命名为My_C_Class

(2)实现类的功能,此处只简单实现a+b的功能

.cpp和.h文件内容如下:

添加预处理符号_EXPORTING的定义:

(3)编译,生成.dll和.lib等文件

"生成"-->"Build My_C++_DLL",成功后可以在项目路径中的Debug/文件夹中查看到.dll文件

2. C#类库进一步封装C++,生成C#的DLL(NuGet包)

(1)新建C#类库项目,命名为My_CS_DLL,类名命名为My_CS_Class

(2)安装fody插件

右键项目名称-->管理NuGet程序包-->搜索栏搜索"fody",选择"Costura.Fody"进行安装

(3) 添加dll到项目,并修改dll的属性

在项目内手动新建文件夹,命名为"Costura64"(代表64位),将第一步生成的My_C++_DLL.dll文件拷贝到该路径下,修改dll的属性,点"生成解决方案",会生成FodyWeavers.xml文件

(4)添加My_C++_DLL库的引用,编译

在My_CS_Class.cs中添加My_C++_DLL库的引用,以及在FodyWeavers.xml中添加My_C++_DLL库,编译

(5)发布My_CS_DLL的NuGet包(发布之前建议配置好版本,便于后续分辨)



完成上述步骤后,C#封装完成。

3. 在WPF应用程序工程中导入C#的NuGet包

(1)创建wpf项目

(2)导入本地NuGet包


(3)测试

至此,C++源码封装成类库并在wpf项目中引用的过程已全部实现。

4. 更新NuGet包(版本更新)

(1)打开发布NuGet包的项目,在项目文件中修改属性Version的值

(2)发布,得到新版本的NuGet包

(3)拷贝到Package Source路径下

(4)更新

附件:

相关推荐
红花与香菇2____2 小时前
【学习笔记】Cadence电子设计全流程(二)原理图库的创建与设计(上)
笔记·嵌入式硬件·学习·pcb设计·cadence·pcb工艺
拥有一颗学徒的心5 小时前
鸿蒙第三方库MMKV源码学习笔记
笔记·学习·性能优化·harmonyos
俊哥V9 小时前
[笔记.AI]如何判断模型是否通过剪枝、量化、蒸馏生成?
人工智能·笔记
【云轩】11 小时前
用DeepSeek零基础预测《哪吒之魔童闹海》票房——从数据爬取到模型实战
经验分享·笔记
此去经年。11 小时前
I2C学习笔记-软件模拟I2C
笔记·单片机·学习
汇能感知11 小时前
汇能感知的光谱相机/模块产品有哪些?
经验分享·笔记·科技
安和昂13 小时前
effective-Objective-C第六章阅读笔记
开发语言·笔记·objective-c
雅俗共赏10014 小时前
提升信息检索准确性和效率的搜索技巧
笔记·搜索引擎
孤寂大仙v15 小时前
侯捷 C++ 课程学习笔记:设计模式在面向对象开发中的应用
c++·笔记·学习
W.KN16 小时前
算法日常刷题笔记(1)
笔记