本发明专利技术公开了一种应用程序的自动编译方法及计算机可读存储介质,方法包括:根据用户配置,生成用户配置文件和默认配置文件;对应用源码的文件目录结构进行分析,生成分析配置文件;根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本;在应用源码的根目录下创建输出目录;调用构建工具解析所述构建脚本,生成编译脚本,并将所述编译脚本保存至所述输出目录下;在所述输出目录下运行编译命令,生成应用程序。本发明专利技术可降低脚本的学习成本、开发成本和维护成本。
Automatic compiling method of application program and computer readable storage medium
【技术实现步骤摘要】
应用程序的自动编译方法及计算机可读存储介质
本专利技术涉及软件编译
,尤其涉及一种应用程序的自动编译方法及计算机可读存储介质。
技术介绍
基于ARM架构上的嵌入式linux应用编译开发,现在基本上都是手动来编写编译脚本makefile,或者使用一种更高级的构建工具如cmake、scons或者类似工具写出抽象化更好的脚本,以此来最终自动生成编译的makefile,但是无论哪种方式都需要手动编写大量脚本,而makefile脚本语法更是晦涩难懂,无论是学习时间,还是开发周期和维护成本都比较高,有的复杂的项目甚至需要专门makefile工程师来维护makefile编译框架,cmake之类虽然能写出可读性更好的脚本,但是脚本的学习成本,开发成本和维护成本都还是免不了的。
技术实现思路
本专利技术所要解决的技术问题是:提供一种应用程序的自动编译方法及计算机可读存储介质,可降低脚本的学习成本、开发成本和维护成本。为了解决上述技术问题,本专利技术采用的技术方案为:一种应用程序的自动编译方法,包括:根据用户配置,生成用户配置文件和默认配置文件;对应用源码的文件目录结构进行分析,生成分析配置文件;根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本;在应用源码的根目录下创建输出目录;调用构建工具解析所述构建脚本,生成编译脚本,并将所述编译脚本保存至所述输出目录下;在所述输出目录下运行编译命令,生成应用程序。本专利技术还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:根据用户配置,生成用户配置文件和默认配置文件;对应用源码的文件目录结构进行分析,生成分析配置文件;根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本;在应用源码的根目录下创建输出目录;调用构建工具解析所述构建脚本,生成编译脚本,并将所述编译脚本保存至所述输出目录下;在所述输出目录下运行编译命令,生成应用程序。本专利技术的有益效果在于:只需要简单的配置或者不用配置就能对待编译的应用源码进行自动化的编译,解决了对撰写编译框架及脚本对开发人员要求比较高的问题,开发人员只需专注应用程序相关的开发,把开发人员从编译系统的构建中解放出来,从而解决了应用编译场景下的编译脚本难学、编译框架开发周期长、编译框架维护麻烦等问题。附图说明图1为本专利技术实施例一的一种应用程序的自动编译方法的流程图;图2为本专利技术实施例一的项目源码目录结构示意图一;图3为本专利技术实施例一的项目源码目录结构示意图二。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。本专利技术最关键的构思在于:提供较丰富的针对编译需要的用户交互配置选项;根据用户的配置,自动生成用户配置文件和默认配置文件,并结合分析配置文件自动生成构建脚本,进而自动生成编译脚本,从而完成对应用程序的编译。请参阅图1,一种应用程序的自动编译方法,包括:根据用户配置,生成用户配置文件和默认配置文件;对应用源码的文件目录结构进行分析,生成分析配置文件;根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本;在应用源码的根目录下创建输出目录;调用构建工具解析所述构建脚本,生成编译脚本,并将所述编译脚本保存至所述输出目录下;在所述输出目录下运行编译命令,生成应用程序。从上述描述可知,本专利技术的有益效果在于:可降低脚本的学习成本、开发成本和维护成本。进一步地,所述对应用源码的文件目录结构进行分析,生成分析配置文件具体为:遍历应用源码的目录树,获取包含有头文件、源文件或库文件的目录路径;根据所述目录路径,生成分析配置文件。由上述描述可知,通过对应用源码的文件目录结构进行分析,获取包含头文件和库文件的目录路径,并获取包含源文件的目录路径,便于后续直接填入预设的构建脚本模板中。进一步地,所述遍历应用源码的目录树,获取包含有头文件、源文件或库文件的目录路径之后,进一步包括:判断所述目录路径中是否包含重名的头文件、重名的源文件或重名的库文件;若是,则将重名的文件的名称修改为唯一名称。由上述描述可知,避免因重名的文件而编译出错。进一步地,所述根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本具体为:将所述用户配置文件、默认配置文件和分析配置文件中的配置信息调入至预设的构建脚本模板中的相应位置,生成构建脚本;将所述构建脚本保存至应用源码的根目录下。由上述描述可知,可降低静态脚本生成的复杂度。进一步地,所述在应用源码的根目录下创建输出目录具体为:判断所述构建脚本是否是初次编译;若是,则在应用源码的根目录下创建输出目录。由上述描述可知,便于后续寻找编译输出的文件。本专利技术还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:根据用户配置,生成用户配置文件和默认配置文件;对应用源码的文件目录结构进行分析,生成分析配置文件;根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本;在应用源码的根目录下创建输出目录;调用构建工具解析所述构建脚本,生成编译脚本,并将所述编译脚本保存至所述输出目录下;在所述输出目录下运行编译命令,生成应用程序。进一步地,所述对应用源码的文件目录结构进行分析,生成分析配置文件具体为:遍历应用源码的目录树,获取包含有头文件、源文件或库文件的目录路径;根据所述目录路径,生成分析配置文件。进一步地,所述遍历应用源码的目录树,获取包含有头文件、源文件或库文件的目录路径之后,进一步包括:判断所述目录路径中是否包含重名的头文件、重名的源文件或重名的库文件;若是,则将重名的文件的名称修改为唯一名称。进一步地,所述根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本具体为:将所述用户配置文件、默认配置文件和分析配置文件中的配置信息调入至预设的构建脚本模板中的相应位置,生成构建脚本;将所述构建脚本保存至应用源码的根目录下。进一步地,所述在应用源码的根目录下创建输出目录具体为:判断所述构建脚本是否是初次编译;若是,则在应用源码的根目录下创建输出目录。实施例一请参照图1,本专利技术的实施例一为:一种应用程序的自动编译方法,适用于ARM体系结构上的linux应用开发场景,包括如下步骤:S1:根据用户配置,生成用户配置文件和默认配置文件。本实施例中,主要可支持的配置如表1所示。首次对某个应用源码项目进行编译时会要求用户进行配置,如果用户不需要自己定制,都使用默认配置就可以了。例如,对于自本文档来自技高网...
【技术保护点】
1.一种应用程序的自动编译方法,其特征在于,包括:/n根据用户配置,生成用户配置文件和默认配置文件;/n对应用源码的文件目录结构进行分析,生成分析配置文件;/n根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本;/n在应用源码的根目录下创建输出目录;/n调用构建工具解析所述构建脚本,生成编译脚本,并将所述编译脚本保存至所述输出目录下;/n在所述输出目录下运行编译命令,生成应用程序。/n
【技术特征摘要】
1.一种应用程序的自动编译方法,其特征在于,包括:
根据用户配置,生成用户配置文件和默认配置文件;
对应用源码的文件目录结构进行分析,生成分析配置文件;
根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本;
在应用源码的根目录下创建输出目录;
调用构建工具解析所述构建脚本,生成编译脚本,并将所述编译脚本保存至所述输出目录下;
在所述输出目录下运行编译命令,生成应用程序。
2.根据权利要求1所述的应用程序的自动编译方法,其特征在于,所述对应用源码的文件目录结构进行分析,生成分析配置文件具体为:
遍历应用源码的目录树,获取包含有头文件、源文件或库文件的目录路径;
根据所述目录路径,生成分析配置文件。
3.根据权利要求2所述的应用程序的自动编译方法,其特征在于,所述遍历应用源码的目录树,获取包含有头文件、源文件或库文件的目录路径之后,进一步包括:
判断所述目录路径中是否包含重名的头文件、重名的源文件或重名的库文件;
若是,则将重名的文件的名称修改为唯一名称。
4.根据权利要求1所述的应用程序的自动编译方法,其特征在于,所述根据所述用户配置文件、默认配置文件和分析配置文件,生成构建脚本具体为:
将所述用户配置文件、默认配置文件和分析配置文件中的配置信息调入至预设的构建脚本模板中的相应位置,生成构建脚本;
将所述构建脚本保存至应用源码的根目录下。
5.根据权利要求1所述的应用程序的自动编译方法,其特征在于,所述在应用源码的根目录下创建输出目录具体为:
判断所述构建脚本是否是初次编译;
若是,则在应用源码的根目录下创建输出目录。
6....
【专利技术属性】
技术研发人员:赵国开,邓超,黄运峰,赖荣东,王敏效,韦昌荣,
申请(专利权)人:厦门雅迅网络股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。