Я пытаюсь заставить работать простой пример SWIG, который использует структуру в качестве возвращаемого типа, но мой сгенерированный файл неверен. Мои файлы выглядят так.
SwigTest.h
#pragma once
#include "MyHeader.h"
class SwigTest
{
public:
MyHeader testMe();
};
MyHeader.h
struct MyHeader {
int x;
}
и мой файл интерфейса swig:
%module MyModule
%{
#include "SwigTest.h"
#include "MyHeader.h"
%}
extern MyHeader testMe();
Полученный файл JNI имеет следующее объявление метода
public class MyModuleJNI {
public final static native long testMe();
}
Если мой метод возвращает примитив, он работает нормально, но не со структурой. Я работаю на Windows с swig.exe -java -c++ MyModule.i
РЕДАКТИРОВАТЬ: Я думаю, что мне нужно также объявить структуру в файле .i. Может ли кто-то это подтвердить (или оспорить)? Спасибо.
спасибо,
Джефф