[发明专利]一种基于IROS系统快速构建软件包的方法在审
| 申请号: | 202310554929.8 | 申请日: | 2023-05-17 |
| 公开(公告)号: | CN116610357A | 公开(公告)日: | 2023-08-18 |
| 发明(设计)人: | 蔡萌萌;李朝铭;刘鹏;王召东;赵洪宇;刘来波 | 申请(专利权)人: | 山东新一代信息产业技术研究院有限公司 |
| 主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/41;G06F8/30 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
| 地址: | 250100 山东省济南市高新*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 iros 系统 快速 构建 软件包 方法 | ||
1.一种基于IROS系统快速构建软件包的方法,其特征在于,
通过初始化IROS软件包,创建对应的目录和文件,检验系统依赖项是否存在;然后使用编译指令将源码编译为可执行程序,并输出到相应的目录中,最后通过执行打包命令,将程序所需要的依赖库,环境变量打包成一个软件包。
2.根据权利要求1所述的方法,其特征在于,
将IROS接口按照库进行分类,然后解析源码,获取源码中使用的头文件,类以及库;根据解析的结果和IROS系统库的依赖关系,生成makefile;调用编译打包命令对程序进行编译安装。
3.根据权利要求2所述的方法,其特征在于,
将IROS接口API和导出的类以及所在的库和问头文件进行关联。
4.根据权利要求2所述的方法,其特征在于,
解析源码,获取上层应用使用的IROS接口和类有哪些。
5.根据权利要求2所述的方法,其特征在于,
使用命令参数调用make命令,编译安装源代码。
6.根据权利要求4所述的方法,其特征在于,
所述解析源码,具体包括:
首先,获取IROS系统库包含的导出头文件和类的名称以及全局函数的名称,确定对应关系;
其次,读取源码的头文件和源文件,获取所有的include的文件名称;
第三,读取源码的头文件和源文件,获取所使用的类的名称;
第四,读取源码的头文件和源文件,获取源码中使用的全局函数名称;
第五,确定使用的头文件的名称,得到文件的路径;
第六,确定类的名称所在的头文件和库的名称,得到文件路劲和库的全路径名称;
第七,确定使用的全局函数所在的头文件和库的名称,得到文件路劲和库的全路径名称。
7.根据权利要求2所述的方法,其特征在于,
所述生成makefile,具体包括:
首先,将源码解析中得到的头文件的路径,写入头文件依赖列表中;
其次,将源码解析中得到的库的名称和路径,写入到库的依赖列表中;
第三,搜索指定依赖库的头文件路径和库路径,写入依赖列表中;
第四,若使用cfg文件,则将cfg文件转换为.h文件;
第五,若依赖QT,则推导出所有的moc源文件,ui对应的源文件,qrc对应的源文件;
第六,推导出源文件对应的目标文件;
第七,根据头文件依赖列表,撰写编译源码语句;
第八,撰写生成IROS应用程序语句;
第九,撰写程序安装和清理语句。
8.根据权利要求2所述的方法,其特征在于,
所述编译打包,具体包括:
首先调用编译指令,创建中间文件输出路径;
其次,调用moc编译QT程序源码,生成moc对应的cpp文件到指定的路径;
第三,调用uic编译ui文件,生成ui对应的.h文件到指定的路径;
第四,调用rcc命令编译qrc文件,生成qrc对应的.h文件到指定的路径;
第五,调用python命令编译cfg文件,生成对应的.h文件到指定的路径;
第六,调用g++命令编译.cpp文件生成.o文件到指定的目录;
第七,调用g++将.o文件和依赖的库文件,链接为可执行程序,并指定rpath第八,生成对应的脚本,声明需要的环境变量;
最后,将依赖的库文件拷贝到安装包的lib路径,将可执行程序拷贝到安装路径下的bin文件夹下,将脚本文件拷贝到安装目录下。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东新一代信息产业技术研究院有限公司,未经山东新一代信息产业技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310554929.8/1.html,转载请声明来源钻瓜专利网。





