原文链接: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》
|