swig--在java、C#中调用c++写的DLL(以vs2012配置为例)

1、下载、安装: 
http://www.swig.org/download.html 下载swigwin-2.0.8 版本,注意是windows版本!!。 

 

完了解压即可,其中有swig.exe 
Examples文件夹下有许多示例~
 

2、C++端: 
新建一个DLL工程,写一个示例代码如下:
 
 

3、在VS2012的外部工具中配置swig: 
具体配置方法与Astyle等外部工具配置方法类似:
http://cherishlc.iteye.com/admin/blogs/1489826 
 

4、用swig生成C++端的导出函数用的文件及C#端所需文件: 
写一个swig用的module文件(.i后缀)如下: 
其中第一次出现的.h文件(c语言风格,以#开头)为要包含在生成的.cxx文件中的头文件; 
之后,以%开头的头文件则是为了定义所要导出的函数
 
 
然后在该文件为当前编辑的文件时运行刚才配置的swig工具,生成如下文件: 
 

5、将swig生成的文件加入到工程: 
C++端:加入*.cxx文件到工程中 



C#端类似,加入的为*.cs文件而已。 

6、生成DLL,测试 
编译C++端的工程,生成DLL(注意生成的DLL名要与modle文件中的module名一致,手动改生成的文件名或直接配置均可) 
工程文件中配置如下: 
C++端: 
要配置两处,必须得一致,可恶的VS2012的规定啊,参见:
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/beb1c32f-3893-4061-81a7-4aed4032a367/ 

 

C#端: 
注意和c++生成的DLL在一个文件夹中,或者自己拷贝到同一文件夹中~
 



一切搞定,编译工程,可以运行了 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值