swig3.0 生成不了cpp代码,求高手分析原因..

2014-jay 发布于 2014/04/27 13:44
阅读 436
收藏 0

swig jni自动生成代码配置文件 my-swig-generate.mk

# MY_SWIG_PACKAGE MY_SWIG_MODE MY_SWIG_INTERFACES
#Android构建系统的SWIG扩展
#@author Onur cinar
#

#检查变量MY_SWIG_PACKAGE是否已经定义
 ifndef MY_SWIG_PACKAGE
 $(error MY_SWIG_PACKAGE is not defined)
 endif 

#用斜线替换java目录中的圆点
MY_SWIG_OUTDIR := $(NDK_PROJECT_PATH)/src/$(subst .,/,$(MY_SWIG_PACKAGE))
#SWIG的默认类型是c
ifndef MY_SWIG_TYPE
 MY_SWIG_TYPE := c
endif

 

#设置SWIG的模式
ifeq ($(MY_SWIG_TYPE),cxx)
  MY_SWIG_MODE := -c++
else
 MY_SWIG_MODE := 
endif

 

#追加SWIG封装源文件
LOCAL_SRC_FILES+= $(foreach MY_SWIG_INTERFACE,\
 $(MY_SWIG_INTERFACES),\
 $(basename $(MY_SWIG_INTERFACE))_wrap.$(MY_SWIG_TYPE))
 
#添加.cxx作为c++扩展名
LOCAL_CPP_EXTENTION += .cxx

#生成SWIG封闭代码(indention should be tabs for this block)
%_wrap.$(MY_SWIG_TYPE) : %.i
 $(call host-mkdir,$(MY_SWIG_OUTDIR))
 swig -java -c++ \
 -package $(MY_SWIG_PACKAGE) \
 -outdir $(MY_SWIG_OUTDIR) \
 $<
 

Android.mk 代码如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c

MY_SWIG_PACKAGE := com.apress.swig
MY_SWIG_INTERFACES := Unix.i
#MY_SWIG_TYPE := c
MY_SWIG_TYPE := cxx 
include $(LOCAL_PATH)/my-swig-generate.mk

include $(BUILD_SHARED_LIBRARY)
#include $((PREBUILT_SHARED_LIBRARY)

编译出现如下提示:

 

Android NDK: WARNING: Unsupported source file extensions in jni/Android.mk for module hello-jni   
Android NDK:   Unix_wrap.cxx   
Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver

Gdbsetup       : libs/armeabi/gdb.setup

Install        : libhello-jni.so => libs/armeabi/libhello-jni.so

 


 

 

加载中
返回顶部
顶部