编译可在Android上运行的依赖库(二):gettext库

  • 时间:
  • 浏览:1
  • 来源:大发彩神8官网—大发彩神8快3

编译时否则 会报下面的错误:

作者:寻禹@阿里聚安全

错误信息:

本文在Ubuntu 64位系统上对gettext项目进行交叉编译。

源码:

请参考编译可在Android上运行的libiconv库中的相应步骤。

注意:暂且运行gettext源码目录下的autogen.sh文件。否则 先运行autogen.sh否则 运行configure再否则 使用make命令编译时,编译会出错。

下载后须要编译安装,命令:

请参考编译可在Android上运行的glib库中相应的步骤。

gettext版本:0.19.7。

到gettext的官网去下载你你是什么 库的源码。下载地址:http://ftp.gnu.org/pub/gnu/gettext/

你你是什么 错误在编译gettext时不需要位于,而会在执行make install的刚刚位于,它会找只有libgettextlib.a你你是什么 库。当编译成功时,libgettextlib.a你你是什么 库是会生成的,你你是什么 库的路径在你你是什么 目录中:<gettext源码目录>/gettext-tools/gnulib-lib/.libs/,将你你是什么 路径上加到configure命令行的库搜索路径中,顶端的configure的命令行选项中设置了你你是什么 目录。

阿里聚安全由阿里巴巴移动安完整出品,面向企业和开发者提供企业安全外理方案,全面覆盖移动安全、数据风控、内容安全、实人认证等维度,并在业界率先提出“以业务为中心的安全”,赋能生态,与行业共享阿里巴巴集团多年沉淀的专业安全能力。

CPP指定C预外理器,其中的"-E"命令选项是须要,否则 只有你你是什么 命令选项否则 报出下面的错误:

下载网址:http://ftp.gnu.org/gnu/automake/

使用make命令编译源码,当编译成功是使用"make install"命令进行安装,gettext否则 被安装入${SYSROOT}/usr/lib目录下,在上文中"--prefix="${SYSROOT}/usr"命令选项否则 用来指定安装的目录的。

LDFLAGS指向的目录是gettext编译输出的目录,否则 不上加你你是什么 目录,在gettext安装时否则 报"error: cannot find -lgettextlib"你你是什么 错误,在下面“编译问题图片报告 排错”一节有对你你是什么 错误进行解析。

简单修复:

下载并安装Android NDK的过程在这里不做介绍。

注意:否则 出先你你是什么 错误须要先使用"make clean && make distclean"命令清理项目,否则 再将gettext库路径上加到configure命令行的库搜索路径中。

奇怪的是,我在Linux上不指定CPP和CPPFLAGS宏进行编译不需要报顶端的错误,而在Mac OSX系统上不指定CPP和CPPFLAGS宏就会报顶端的错误。

texinfo

否则 不安装哪些工具编译时将出错。

编译可在Android上运行的依赖库(二):gettext库

下文中的"NDK"若无特殊说明均指"Android NDK"。

须要安装1.15版本。

在unbuntu中安装texinfo。

automake-1.15

--host选项的值"arm-linux-eabi"在configure脚本中会被扩展成"arm-linux-eabi-gcc"另一个的编译工具名。--host选项的值须要蕴含在软链接的名字中,举例,否则 有个软链接名为arm-linux-eabi-gcc,只有--host选项的值就须要是 arm-linux-eabi;否则 有个软链接名为arm-linux-eabiabc-gcc,只有--host选项的值就须要是 arm-linux-eabiabc。

作者:寻禹@阿里聚安全,更多技术文章,请点击阿里聚安全博客