关于android的mk文件的一些见解
来源:互联网 发布:古装淘宝 编辑:程序博客网 时间:2024/05/16 16:20
前几天一直在搞android平台的编译的问题。google不给我们c++程序员提供一个便捷的开发环境,真是让我痛心疾首。
分两部分说,第一部分是生成动态库(.so)的mk文件,另一部分时说module(module是android提供的很有意思并且也很用的一个东西)的mk文件。
下面直接拿cocos2d-x里的helloworld当实例,咱一句一句的给你解释,这个文件在proj.android/jni/Android.mk
#my-dir由编译系统提供,这句话的目的是把LOCAL_PATH这个宏设置为这个mk文件所在的位置
LOCAL_PATH := $(call my-dir)
#CLEAR_VARS由编译系统提供,指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量
include $(CLEAR_VARS)
#模块的名字,这个供其他mk文件依赖
LOCAL_MODULE := hellocpp_shared
#指定生成libhellocpp.so(为什么是.so是以为下面指定这个要生成动态库)
LOCAL_MODULE_FILENAME := libhellocpp
#设置要被编译的源代码文件, \换行符号,
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
#设置头文件包含目录 :=是值等,+=是追加
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
#依赖的静态库名称,这个库哪里的,请看最后一行
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
#指定要生成动态库文件就是.so
include $(BUILD_SHARED_LIBRARY)
#需要依赖这个module,cocos2dx实际上是个相对COCOS2DX_ROOT的目录
$(call import-module,cocos2dx)
下来说下module,咱用extensions/Android.mk做例子
其他的基本都一样就这两句
#这个表示要导出的包含目录
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \
$(LOCAL_PATH)/CCBReader \
$(LOCAL_PATH)/GUI/CCControlExtension \
$(LOCAL_PATH)/GUI/CCScrollView \
$(LOCAL_PATH)/network \
$(LOCAL_PATH)/LocalStorage
#这个表示要编译成静态库文件,并且这个一定要放在 LOCAL_EXPORT_C_INCLUDES后面,否则上面的目录不能正常导出
include $(BUILD_STATIC_LIBRARY)
阅读全文
0 0
- 关于android的mk文件的一些见解
- Android 中关于SimpleAdapter的一些见解
- 一些关于考研的见解
- 关于cookie的一些见解
- 关于sequence的一些见解
- 关于Maven的一些见解
- 关于xml的一些见解
- 关于imageloader的一些见解
- 关于ashx文件的使用的一些个人见解
- Android.mk的一些FAQ
- Android.mk的一些事
- Android.mk的一些FAQ
- 关于Activity的生命周期的一些见解
- Android .mk文件中需要注意的一些宏
- 关于cocos2dx的Android的移植的MK文件问题
- 关于CSS+div的一些见解
- 关于项目管理的一些个人见解
- 关于CString to char * 的一些见解
- PMS 简析
- PAT 乙级练习题1008. 数组元素循环右移问题 (20)
- 【前端新手】实现ie浏览器界面兼容所遇的坑
- 简单背包练习——分组背包
- AS出现Unsupported major.minor version 52.0
- 关于android的mk文件的一些见解
- 希尔排序 Java实现
- tomcat如何配置环境变量
- 重建二叉树06
- 关于leetcode Minimum Window Substring的思考
- Nginx作为反向代理
- numpy-线性代数
- struts2中的文本框不可编辑
- RS232和RS485、TTL有什么区别?