Cocos2dx/NDK .a静态库的制作与使用
实验目的:把mylib.a 中的 myfunc 暴露给其它源程序调用。 1. 如何制作NDK可用的.a静态库?整个制作流程最好分2个目录来进行: #ifndef __MYLIB_A
#define __MYLIB_A
#include <string>
#include <sstream>
using namespace std;
string getMySLIBMsg(int arg);
#endif
源文件 mylib.cpp : #include "mylib.h"
string getMySLIBMsg(int arg)
{
stringstream tmp;
tmp<<arg;
string revalue = "your argument is "+tmp.str();
return revalue;
}
我的mylibsrc目录在 E盘根目录,不过要注意要用NDK进行编译的话得在工程目录下添加一个jni子目录,并且在里面放上Android.mk,由于是编译静态文件,这里还需要Application.mk文件。这2个文件就相当于是 NDK 的Makefile LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mystaticLibrary
LOCAL_SRC_FILES := mylib.cpp
LOCAL_INCLUDES := $(LOCAL_PATH)/jni
include $(BUILD_STATIC_LIBRARY)
Application.mk : APP_MODULES := mystaticLibrary
APP_STL := gnustl_static
#APP_STL :=stlport_static
接下来就可以Build了,用cmd cd进入 E:mylibsrc,然后直接执行ndk-build 2.引用已经生成好的.a静态库接下来我再新建一个 E:mylib 文件夹,并在该目录下新建3个子目录,分别是armeabi,armeabi-v7a,x86,如图: LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mystaticLibrary
LOCAL_MODULE_FILENAME := mystaticLibrary
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libmystaticLibrary.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(PREBUILT_STATIC_LIBRARY)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |