代码拉取完成,页面将自动刷新
同步操作将从 newgolo/appkit 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
build目录是mbuild编译系统的源码,build/envsetup.sh是编译环境设置脚本。在使用mbuild系统前,必须在工程根目录下执行:
$source ./build/envsetup
执行完成后将可使用mbuild系统提供的系列命令mbuild_xxx。
$mbuild_setup #编译环境设置(默认为x86配置,如果需要交叉编译,可以修改profile.sh文件,或选择msetup菜单中的specify by myself选项设置)
$mbuild_make <directory> <target> <linktype> #编译directory目录下的target目标
$mbuild_clean <directory> <target> #清理directory目录下的target目标
$mbuild_remake <directory> <target> <linktype> # 重新编译directory目录下的target目标
$mbuild_project <directory> <target> [exec|lib|qt|res|fromsrc|fromtar] #在directory目录下创建target目标的子工程
$mbuild_auto #自动编译(调用自动编译脚本:autobuild.sh)
使用mbuild命令必须指定两个参数<directory> <target>
mbuild系统支持构建以下几种目标
注意:每个target.mk文件仅支持编译一个目标,每个目标需对应一个mk文件。
# this file is generated by mbuild_project from mbuild system, see more in build/README.md
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# module name
LOCAL_MODULE :=
# c compile flags
LOCAL_CFLAGS :=
# cpp compile flags
LOCAL_CXXFLAGS :=
# include file list
LOCAL_INC_PATHS := \
$(LOCAL_PATH)
# source file list
LOCAL_SRC_FILES := \
# lib type : static or shared
LOCAL_LIB_TYPE :=
LOCAL_PRE_BUILD :=
LOCAL_POST_BUILD :=
include $(BUILD_LIBRARY)
# this file is generated by mbuild_project from mbuild system, see more in build/README.md
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# module name
LOCAL_MODULE :=
# resource file list
LOCAL_RESOURCE_FILES:=
# destination path
LOCAL_RESOURCE_DEST :=
include $(BUILD_RESOURCE)
LOCAL_PATH #当前源码目录,固定写为LOCAL_PATH := $(call my-dir)
CLEAR_VARS #清除编译变量
LOCAL_CFLAGS #编译参数CFLAGS
LOCAL_LDFLAGS #链接参数LDFLAGS
LOCAL_INC_PATHS #头文件搜索路径
LOCAL_LIB_PATHS #链接库搜索路径
LOCAL_LIB_TYPE #目标库的类型:static或者shared
LOCAL_MODULE #模块名称,最终生成的目标名称
LOCAL_PRE_BUILD #编译前执行的脚本
LOCAL_POST_BUILD #编译后执行的脚本
GCC #指定c编译器,如果不指定,则由mbuild系统确定编译器
CC #指定c++编译器,如果不指定,则由mbuild系统确定编译器
AR #指定链接器,如果不指定,则由mbuild系统确定链接器
假定在工程目录下有hello目录,目录下有源码hello.h,hello.c,main.c。我们的目标是生成一个libhello.a和一个可执行程序hello. 1 . 设置编译环境:
$source ./build/envsetup.sh
$mbuild_setup
2 . 在hello目录下新建libhello.a目标的构建文件libhello.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libhello
LOCAL_CFLAGS :=
LOCAL_CXXFLAGS :=
LOCAL_LDFLAGS :=
LOCAL_LIB_PATHS :=
LOCAL_INC_PATHS := $(LOCAL_PATH)
LOCAL_SRC_FILES := hello.c
LOCAL_LIB_TYPE := static
LOCAL_PRE_BUILD:=
LOCAL_POST_BUILD:=
include $(BUILD_LIBRARY)
也可以使用mbuild_project命令自动创建mk文件:
mbuild_project hello libhello lib
3 . 在hello目录下新建hello目标的构建文件hello.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_CFLAGS :=
LOCAL_LDFLAGS := -lpthread
LOCAL_INC_PATHS := $(LOCAL_PATH)
LOCAL_SRC_FILES := main.cpp hello.c
LOCAL_PRE_BUILD:=
LOCAL_POST_BUILD:=
include $(BUILD_EXECUTABLE)
也可以使用mbuild_project命令自动创建mk文件:
mbuild_project hello hello exec
4 . 编译目标:
$mbuild_make hello libhello static
$mbuild_make hello hello
5 . 在output目录的lib和bin文件夹下你将发现编译出的目标文件:
$ls output-x86_64/bin
hello
$ls output-x86_64/lib
libhello.a
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。