相关疑难解决方法(0)

使用Swig忽略特定的重载方法

我正在制作一个C++库的包装器,因此它可以在Java中使用,我正在使用Swig.

我面临的是我有一个Class SomeClass,它有一些重载的方法(someMethod).在这些重载方法中,有些接收复杂数据,我不想导出到包装器,还有一些我想要导出的简单数据.

我正在尝试使用该%rename("$ignore")指令,但要么我得到所有方法导出或没有.我有另一个两种类的SimpleDataComplexData,在命名其中的一个ns1,另一个在ns2,SomeClass在命名空间"" ns3`.

班级SimpleData:

#ifndef SIMPLEDATA_H_
#define SIMPLEDATA_H_

namespace ns1 {

class SimpleData {
public:
    SimpleData(){}
    virtual ~SimpleData(){}
};

} /* namespace ns1 */
#endif /* SIMPLEDATA_H_ */
Run Code Online (Sandbox Code Playgroud)

ComplexData类:

#ifndef COMPLEXDATA_H_
#define COMPLEXDATA_H_

namespace ns2 {

class ComplexData {
public:
    ComplexData(){}
    virtual ~ComplexData(){}
};

} /* namespace ns2 */
#endif /* COMPLEXDATA_H_ */
Run Code Online (Sandbox Code Playgroud)

班级SomeClass:

#ifndef SOMECLASS_H_
#define SOMECLASS_H_

#include …
Run Code Online (Sandbox Code Playgroud)

swig

4
推荐指数
2
解决办法
4420
查看次数

标签 统计

swig ×1