SWIG+;%nspace:是否可以重命名/剥离基本命名空间? 我正在研究一个C++绑定的目标java(和以后的Python)。p>

SWIG+;%nspace:是否可以重命名/剥离基本命名空间? 我正在研究一个C++绑定的目标java(和以后的Python)。p>,java,c++,namespaces,rename,swig,Java,C++,Namespaces,Rename,Swig,我的类是这样的(例如:mymodule.h) 使用命名空间功能(%nspace或%nspace”)时,如下所示: 我得到以下java绑定: |- MyModule.java |- MyModuleJNI.java `- BaseNS |- A.java |- B.java `- NestedNS |- C.java |- D.java 是否有方法指示SWIG将BaseNS重命名为RenamedNS 我试图使用以下命令来处理%rename指令: %rename (Renamed

我的类是这样的(例如:
mymodule.h

使用命名空间功能(
%nspace
%nspace”)
时,如下所示:

我得到以下java绑定:

|- MyModule.java
|- MyModuleJNI.java
`- BaseNS
 |- A.java
 |- B.java
 `- NestedNS
   |- C.java
   |- D.java
  • 是否有方法指示SWIG将
    BaseNS
    重命名为
    RenamedNS
  • 我试图使用以下命令来处理
    %rename
    指令:

    %rename (RenamedNS) BaseNS; // does not pick namespace
    %rename (RenamedNS) ::BaseNS; // still does not work 
    
  • 作为替代方案,是否有一种方法可以将stip
    bases
    移除,从而生成如下绑定:

    
    |- MyModule.java
    |- MyModuleJNI.java
    |- A.java
    |- B.java
    `- NestedNS
     |- C.java
     |- D.java
    
  • (仍然保留
    NestedNS
    ,但从路径中删除基址)


    谢谢。

    看来这次的答案是“不”。%nspace和%rename无法提供所需的控件。
    %rename (RenamedNS) BaseNS; // does not pick namespace
    %rename (RenamedNS) ::BaseNS; // still does not work 
    
    
    |- MyModule.java
    |- MyModuleJNI.java
    |- A.java
    |- B.java
    `- NestedNS
     |- C.java
     |- D.java