c++ SWIG -Java文件重复问题

voase2hg  于 2023-06-25  发布在  Java
关注(0)|答案(1)|浏览(184)

我试图解决的问题在最短的例子看起来像这样。我有两个swig的接口文件。

  • 第一个swig文件Common.i看起来像这样:
  1. /* Common.i */
  2. %module Common
  3. %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定义了类AB,因此上面的swig命令在wrappers/Common目录中生成文件A.javaB.java

  • 第二个swig文件Example.i看起来像这样:
  1. /* Example.i */
  2. %module Example
  3. %include "Common.i"
  4. %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.javaB.java,因为我在Example.i中包含了Common.i
我想要一份以上课程的副本。
有没有办法避免这种重复?

ss2ws0br

ss2ws0br1#

根据使用模块:基本知识,以下任一项都应有效:

  1. %import "Common.i"
  1. %import(module="Common") "Common.hpp"

根据文件导入:
%import的目的是从另一个SWIG接口文件或头文件收集某些信息,而不实际生成任何 Package 器代码。

相关问题