QT动态库的配置方法、装置、电子设备及存储介质与流程

文档序号:37897632发布日期:2024-05-09 21:41阅读:25来源:国知局
QT动态库的配置方法、装置、电子设备及存储介质与流程

本技术涉及计算机,具体而言,涉及一种qt动态库的配置方法、装置、电子设备及存储介质。


背景技术:

1、随着网络技术的不断发展,计算机的处理器和操作系统的种类也越来越多,在执行一些应用程序时,需要使用到第三方的代码库,例如,qt动态库,但是由于不同类型的处理器默认配置了不同版本的qt动态库,而对于不同版本的qt动态库,在编写应用程序的编码细节也不同,因此,许多软件厂商为了适配不同处理器的不同qt动态库的版本,需要为不同处理器提供不同的安装包,如何能够使用qt动态库适配不同类型的处理器,是目前急需解决的问题。


技术实现思路

1、本技术的一些实施例的目的在于提供一种qt动态库的配置方法、装置、电子设备及存储介质,通过本技术的实施例的技术方案,通过获取终端设备的处理器类型;根据预先设置的裁剪规则,对待配置的qt代码库进行修改和裁剪,得到裁剪后的qt代码库,其中,所述预先配置的裁剪规则是根据所述终端设备的处理器类型确定的;采用预先配置的与所述处理器类型相匹配的编译工具,对所述裁剪后的qt代码库中的代码进行编译;若编译成功,则根据所述裁剪后的qt代码库生成qt安装包,所述qt安装包用于安装在与处理器类型对应的终端设备上,通过根据不同的处理器类型,对待配置的qt代码库进行修改和裁剪,得到裁剪后的qt代码库,在该qt代码库编译成功的情况下,可以适配到不同的处理器类型的终端设备上,这样,就不需要为各种不同处理器类型的终端设备分别配置不同版本的代码库。

2、第一方面,本技术的一些实施例提供了一种qt动态库的配置方法,包括:

3、获取终端设备的处理器类型;

4、根据预先设置的裁剪规则,对待配置的qt代码库进行修改和裁剪,得到裁剪后的qt代码库,其中,所述预先配置的裁剪规则是根据所述终端设备的处理器类型确定的;

5、采用预先配置的与所述处理器类型相匹配的编译工具,对所述裁剪后的qt代码库中的代码进行编译;

6、若编译成功,则根据所述裁剪后的qt代码库生成qt安装包,所述qt安装包用于安装在与处理器类型对应的终端设备上。

7、本技术的一些实施例通过根据不同的处理器类型和预先设置的裁剪规则,对待配置的qt代码库进行修改和裁剪,得到裁剪后的qt代码库,在该qt代码库编译成功的情况下,可以适配到不同的处理器类型的终端设备上,这样,就不需要为各种不同处理器类型的终端设备分别配置一个不同版本的代码库。

8、可选地,所述qt代码库至少包括:第一qt主代码文件和第一浏览器引擎文件;

9、所述根据预先设置的裁剪规则,对待配置的qt代码库进行修改和裁剪,得到裁剪后的qt代码库,包括:

10、根据所述终端设备的处理器类型,分别对所述第一qt主代码文件和所述第一浏览器引擎文件进行修改,得到修改后的第二qt主代码文件和修改后的第二浏览器引擎文件。

11、根据预先设置的裁剪规则,分别对所述第二qt主代码文件和所述第二浏览器引擎文件进行裁剪处理,得到所述裁剪后的qt代码库。

12、本技术的一些实施例通过根据应用程序的具体需求设置裁剪规则,使得qt动态库仅依赖必要的运行库,降低了对系统环境的依赖性,减小了qt动态库的体积,进而减小了安装包的体积。

13、可选地,所述根据所述终端设备的处理器类型,分别对所述第一qt主代码文件和所述第一浏览器引擎文件进行修改,得到修改后的第二qt主代码文件和修改后的第二浏览器引擎文件,包括:

14、在所述第一qt主代码文件中的宏定义中增加与所述处理器类型对应的声明信息,以及对字节长度修改为与所述处理器类型对应预设字节长度,得到修改后的第二qt主代码文件;

15、在所述第一浏览器引擎文件中的宏定义中增加与所述处理器类型对应的声明信息,以及将所述第一浏览器引擎文件中的满足预设条件的测试代码删除,并对所述第一浏览器引擎文件中代码进行修改,得到所述修改后的第二浏览器引擎文件,以使所述修改后的第二浏览器引擎文件满足预设要求。

16、本技术的一些实施例通过对第一qt主代码文件和第一浏览器引擎文件进行宏定义和编译规则进行修改,这样,使得修改后的第二qt主代码文件和修改后的第二浏览器引擎文件可以适配于各种不同处理器类型的终端设备。

17、可选地,所述根据预先设置的裁剪规则,分别对所述第二qt主代码文件和所述第二浏览器引擎文件进行裁剪处理,得到所述裁剪后的qt代码库,包括:

18、采用预设配置工具对所述第二qt主代码文件进行裁剪,将所述第二qt主代码文件中的系统依赖项和与应用程序无关的代码进行删除,得到裁剪后的第三qt主代码文件;

19、采用预设配置工具对所述第二浏览器引擎文件进行裁剪,将所述第二浏览器引擎文件中的与应用程序无关的代码进行删除,得到裁剪后的第三浏览器引擎文件。

20、本技术的一些实施例,对修改后的第二qt主代码文件和修改后的第二浏览器引擎文件进行裁剪,将一些不需要的代码和系统依赖项进行删除,减少代码的占用空间,同时减少对系统的依赖。

21、可选地,所述采用预先配置的与所述处理器类型相匹配的编译工具,对所述裁剪后的qt代码库中的代码进行编译,包括:

22、采用预先配置的与所述处理器类型相匹配的编译工具,生成第一规则文件,并采用所述第一规则文件对所述第三qt主代码文件进行编译,得到第一编译结果;

23、对所述第一规则文件进行修改,得到第二规则文件;

24、根据所述第二规则文件,对所述第三浏览器引擎文件进行编译,得到第二编译结果。

25、本技术的一些实施例,编译qt动态库时,采用各个处理器的终端中g++版本最低的环境进行编译,由于g++的向后兼容性,可以保证qt动态库和应用程序能够适配各种操作系统。

26、可选地,所述若编译成功,则根据所述裁剪后的qt代码库生成qt安装包,包括:

27、将所述第二编译结果保存在所述第一编译结果的目录下;

28、对所述第一编译结果和所述第二编译结果进行判断;

29、若所述第一编译结果和所述第二编译结果为编译成功,将所述裁剪后的qt代码库生成qt安装包。

30、本技术的一些实施例,通过将第二编译结果保存在第一编译结果的目录下,若编译结果是成功,则说明对待配置的qt代码库的修改是成功的,可以适配至不同的终端设备上。

31、可选地,所述方法还包括:

32、根据所述qt安装包,编写应用程序,并对所述应用程序进行编译;

33、在编译成功的情况下,对所述应用程序的代码进行运行,并获取当前活动用户;

34、根据所述当前活动用户和应用程序安装路径,确定环境变量;

35、根据所述环境变量,对所述应用程序的代码进行编译。

36、本技术的一些实施例,编写运行时动态配置脚本,根据/run/systemd/users目录下的文件内容,运行时实时动态的获取当前活动用户,根据运行环境和当前桌面活动用户动态配置环境变量,使得运行在system级别的应用程序能够获取当前的活动用户,根据当前用户设置界面相关环境变量,解决了system级别应用和用户界面的交互难点。

37、第二方面,本技术的一些实施例提供了一种qt动态库的配置装置,包括:

38、获取模块,用于获取终端设备的处理器类型;

39、裁剪模型,用于根据预先设置的裁剪规则,对待配置的qt代码库进行修改和裁剪,得到裁剪后的qt代码库,其中,所述预先配置的裁剪规则是根据所述终端设备的处理器类型确定的;

40、编译模块,用于采用预先配置的与所述处理器类型相匹配的编译工具,对所述裁剪后的qt代码库中的代码进行编译;

41、生成模块,用于若编译成功,则根据所述裁剪后的qt代码库生成qt安装包,所述qt安装包用于安装在与处理器类型对应的终端设备上。

42、本技术的一些实施例通过根据不同的处理器类型和预先设置的裁剪规则,对待配置的qt代码库进行修改和裁剪,得到裁剪后的qt代码库,在该qt代码库编译成功的情况下,可以适配到不同的处理器类型的终端设备上,这样,就不需要为各种不同处理器类型的终端设备分别配置一个不同版本的代码库。

43、可选地,所述qt代码库至少包括:第一qt主代码文件和第一浏览器引擎文件;

44、所述裁剪模型用于:

45、根据所述终端设备的处理器类型,分别对所述第一qt主代码文件和所述第一浏览器引擎文件进行修改,得到修改后的第二qt主代码文件和修改后的第二浏览器引擎文件。

46、根据预先设置的裁剪规则,分别对所述第二qt主代码文件和所述第二浏览器引擎文件进行裁剪处理,得到所述裁剪后的qt代码库。

47、本技术的一些实施例通过根据应用程序的具体需求设置裁剪规则,使得qt动态库仅依赖必要的运行库,降低了对系统环境的依赖性,减小了qt动态库的体积,进而减小了安装包的体积。

48、可选地,所述裁剪模型用于:

49、在所述第一qt主代码文件中的宏定义中增加与所述处理器类型对应的声明信息,以及对字节长度修改为与所述处理器类型对应预设字节长度,得到修改后的第二qt主代码文件;

50、在所述第一浏览器引擎文件中的宏定义中增加与所述处理器类型对应的声明信息,以及将所述第一浏览器引擎文件中的满足预设条件的测试代码删除,并对所述第一浏览器引擎文件中代码进行修改,得到所述修改后的第二浏览器引擎文件,以使所述修改后的第二浏览器引擎文件满足预设要求。

51、本技术的一些实施例通过对第一qt主代码文件和第一浏览器引擎文件进行宏定义和编译规则进行修改,这样,使得修改后的第二qt主代码文件和修改后的第二浏览器引擎文件可以适配于各种不同处理器类型的终端设备。

52、可选地,所述裁剪模型用于:

53、采用预设配置工具对所述第二qt主代码文件进行裁剪,将所述第二qt主代码文件中的系统依赖项和与应用程序无关的代码进行删除,得到裁剪后的第三qt主代码文件;

54、采用预设配置工具对所述第二浏览器引擎文件进行裁剪,将所述第二浏览器引擎文件中的与应用程序无关的代码进行删除,得到裁剪后的第三浏览器引擎文件。

55、本技术的一些实施例,对修改后的第二qt主代码文件和修改后的第二浏览器引擎文件进行裁剪,将一些不需要的代码和系统依赖项进行删除,减少代码的占用空间,同时减少对系统的依赖。

56、可选地,所述编译模块用于:

57、采用预先配置的与所述处理器类型相匹配的编译工具,生成第一规则文件,并采用所述第一规则文件对所述第三qt主代码文件进行编译,得到第一编译结果;

58、对所述第一规则文件进行修改,得到第二规则文件;

59、根据所述第二规则文件,对所述第三浏览器引擎文件进行编译,得到第二编译结果。

60、本技术的一些实施例,编译qt动态库时,采用各个处理器的终端中g++版本最低的环境进行编译,由于g++的向后兼容性,可以保证qt动态库和应用程序能够适配各种操作系统。

61、可选地,所述生成模块用于:

62、将所述第二编译结果保存在所述第一编译结果的目录下;

63、对所述第一编译结果和所述第二编译结果进行判断;

64、若所述第一编译结果和所述第二编译结果为编译成功,将所述裁剪后的qt代码库生成qt安装包。

65、本技术的一些实施例,通过将第二编译结果保存在第一编译结果的目录下,若编译结果是成功,则说明对待配置的qt代码库的修改是成功的,可以适配至不同的终端设备上。

66、可选地,所述生成模块用于:

67、根据所述qt安装包,编写应用程序,并对所述应用程序进行编译;

68、在编译成功的情况下,对所述应用程序的代码进行运行,并获取当前活动用户;

69、根据所述当前活动用户和应用程序安装路径,确定环境变量;

70、根据所述环境变量,对所述应用程序的代码进行编译。

71、本技术的一些实施例,编写运行时动态配置脚本,根据/run/systemd/users目录下的文件内容,运行时实时动态的获取当前活动用户,根据运行环境和当前桌面活动用户动态配置环境变量,使得运行在system级别的应用程序能够获取当前的活动用户,根据当前用户设置界面相关环境变量,解决了system级别应用和用户界面的交互难点。

72、第三方面,本技术的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任一实施例所述的qt动态库的配置方法。

73、第四方面,本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任一实施例所述的qt动态库的配置方法。

74、第五方面,本技术的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面任一实施例所述的qt动态库的配置方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1