原文链接:https://www.yuque.com/cpptd/swig/ip3nfo
SWIG系列笔记:https://www.yuque.com/cpptd/swig
官方示例地址:https://github.com/swig/swig/tree/master/Examples
在VS中运行csharp\class示例
要求,本机已经安装了SWIG
以.\swig\Examples\csharp\class
举例
打开VS工程,并进行配置
(1)打开example.sln
(2)点击确定
(3)右键example
> 重定向项目 > 选择一个你本机安装的Windows SDK版本
(4)右键example/example.i
> 属性 > 自定义生成工具 > 常规 > 命令行
把..\..\..\swig.exe
改成swig
(直接调用本机安装的swig)
调用SWIG
(5)右键example/example.i
> 编译
编译生成了以下文件
class
├── example_wrap.cxx C++代码的包装器
├── examplePINVOKE.cs 从dll中加载C++的变量、函数、类等内容
├── example.cs 以下文件都是C#的接口文件
├── Circle.cs
├── Shape.cs
└── Square.cs
编译C++的包装文件
(6)编译example
工程
C#使用
(7)编译example-cs
工程
(8)将生成example.dll
拷贝到E:\cpp\swig_study\swig\Examples\csharp\class\bin\x86\Debug
目录下
(9)运行example-cs
后语
如果想了解SWIG原理,可参考 《快速入门SWIG》