Application.mk 向源代码传递宏定义

原文:http://blog.csdn.net/tianxiawuzhei/article/details/44061421




在看cocos2dx代码时,经常看到

#if defined(COCOS2D_DEBUG) && (COCOS2D_DEBUG > 0)或者#if COCOS2D_DEBUG > 0

但是在源文件中又没有看到在那里定义,网上搜索了一下,发现是在Application.mk 中定义的,

类似于:

APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -DCC_ENABLE_CHIPMUNK_INTEGRATION=1

注意:-D (必须要有这个)COCOS2D_DEBUG=1 具体参考makefile。


APP_CPPFLAGS和所有其他app_使变量应设置Application.mk,每个模块,使用LOCAL_CPPFLAGSLOCAL_CFLAGS。(摘自网络)


APP_CPPFLAGS

A set of C++ compiler flags passed when building C++ sources only.

NOTE: In Android-ndk-1.5_r1, this applied to both C and C++ sources. This has been corrected to match the full Android build system. You can now use APP_CFLAGS for flags that shall apply to C and C++ sources.(摘自ndk说明文档)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你在编译OpenPose源代码时,在源代码的根目录下应该会有一个名为`Android`的目录,这个目录中就包含了`Android.mk`和`Application.mk`两个文件,用于在Android NDK环境下编译OpenPose库。 这是`Android.mk`文件的一个示例: ``` LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := openpose LOCAL_SRC_FILES := src/main.cpp \ src/openpose.cpp \ src/pose.cpp \ src/net.cpp \ src/utils.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/include \ $(LOCAL_PATH)/3rdparty/include LOCAL_LDLIBS := -lm -llog -ljnigraphics -ldl -lz LOCAL_STATIC_LIBRARIES := cpufeatures include $(BUILD_SHARED_LIBRARY) $(call import-module,android/cpufeatures) ``` 在这个文件中,`LOCAL_PATH`是当前目录的路径,`LOCAL_MODULE`是编译后生成的库文件名,`LOCAL_SRC_FILES`是编译需要的源文件列表,`LOCAL_C_INCLUDES`是头文件所在目录,`LOCAL_LDLIBS`是需要链接的库文件列表,`LOCAL_STATIC_LIBRARIES`是需要静态链接的库文件列表。 这是`Application.mk`文件的一个示例: ``` APP_ABI := armeabi-v7a APP_PLATFORM := android-19 APP_STL := gnustl_static APP_BUILD_SCRIPT := Android.mk APP_OPTIM := release ``` 在这个文件中,`APP_ABI`是指定编译生成的so库的架构,`APP_PLATFORM`是指定编译生成的so库的最低支持的安卓API版本,`APP_STL`是指定编译使用的STL库,`APP_BUILD_SCRIPT`是指定编译脚本文件名,`APP_OPTIM`是指定编译优化级别。 需要根据你的具体需求,对这些文件进行相应的调整和修改,以满足你的编译需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值