我试图解决的问题在最短的例子看起来像这样。我有两个swig的接口文件。
- 第一个swig文件
Common.i
看起来像这样:
/* Common.i */
%module Common
%include "Common.hpp"
我用命令生成swig Package 器:swig -c++ -java -package com.wrappers.Common -outdir "wrappers/Common" -o "wrappers_cpp/swig_Common_wrapper.cpp" "Common.i"
Common.hpp
定义了类A
和B
,因此上面的swig命令在wrappers/Common
目录中生成文件A.java
和B.java
- 第二个swig文件
Example.i
看起来像这样:
/* Example.i */
%module Example
%include "Common.i"
%include "Example.hpp"
然后我再次生成swig Package 器命令:swig -c++ -java -package com.wrappers.Example -outdir "wrappers/Example" -o "wrappers_cpp/swig_Example_wrapper.cpp" "Example.i"
我的问题开始了:在目录wrappers/Example
中,我有重复的文件A.java
和B.java
,因为我在Example.i
中包含了Common.i
。
我想要一份以上课程的副本。
有没有办法避免这种重复?
1条答案
按热度按时间ss2ws0br1#
根据使用模块:基本知识,以下任一项都应有效:
根据文件导入:
%import
的目的是从另一个SWIG接口文件或头文件收集某些信息,而不实际生成任何 Package 器代码。