SWIG 之一:基础入门
Posted kuliuheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SWIG 之一:基础入门相关的知识,希望对你有一定的参考价值。
1、入门概念
SWIG支持将C/C++接口封装成其他语言形式,我这里需要转换成JNI (Java)接口。
首先请参考:SWIG官方文档
2、编译命令
autowrapper -c++ -java -package com.kuliuheng.test -outdir ./java -o ./jni/JNI_testWrap.cpp -IE:autoWrapperLib -IE:autoWrapperLibjava test.i
这里面参数含义依次为:
-c++ 表示是封装C++接口,如果不带此参数则默认为C接口 -java 表示封装接口的目标语言Java,其他语言类型支持参看官方文档 -package 此参数为Java语言特有的,表示指定生成的Java包名 -outdir 指定生成的Java文件存储路径,如果不指定则默认当前目录 -o 指定生成的C++接口包装文件存储路径和目标文件名,如果不指定则默认同目录 -I 指定依赖配置文件、库文件的路径
目前文件test.i是SWIG的配置文件,其内容大致是这样的:
/* File : test.i */ %module testModule %{ #include "test_main.h" %} %nspace test::MyClass; %nspace test::Numbers; %nspace test::VAR_IN_TEST; %mutable; %javaconst (1); %include "enumtypeunsafe.swg" %include "test_main.h"
以上是关于SWIG 之一:基础入门的主要内容,如果未能解决你的问题,请参考以下文章