我正在尝试使用SWIG以便为Android使用Spotify API(libspotify):https: //developer.spotify.com/technologies/libspotify/
我无法定义SWIG接口文件以便能够成功调用以下本机C函数:
sp_error sp_session_create(const sp_session_config * config, sp_session ** sess);
Run Code Online (Sandbox Code Playgroud)
在C中将被称为这样:
//config struct defined previously
sp_session *sess;
sp_session_create(&config, &sess);
Run Code Online (Sandbox Code Playgroud)
但在Java中我需要这样称呼它:
//config object defined previously
sp_session javaSess = new sp_session();
sp_session_create(config, javaSess);
Run Code Online (Sandbox Code Playgroud)
sp_session是一个不透明的结构,只在libspotify的API.h文件中定义为:
typedef struct sp_session sp_session;
Run Code Online (Sandbox Code Playgroud)
我期待libspotify库创建它并给我一个引用.那时我唯一需要引用的是传递给API中的其他函数.