logo资料库

nginx交叉编译方法.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
1.工具链
1.1.下载ndk
2.交叉编译nginx及依赖模块
2.1.依赖第三方库:zlib,pcre,openssl
2.1.1编译openssl
2.1.2编译pcre
2.1.3编译zlib
2.2依赖module
2.3编译
3参考资料
1. 工具链 1.1. 下载 ndk 根据 http://developer.android.com/ndk/guides/standalone_toolchain.html#itc 生成对应的 工具链。注:API level 21 以后的工具链中 libc 等带有 symbol version 信息,如不需要该 信息,需使用 level 21 之前的 API。 2. 交叉编译 nginx 及依赖模块 2.1. 依赖第三方库:zlib,pcre,openssl 2.1.1 编译 openssl /config no-asm shared --prefix=$PREFIX a) b) 根据参考资料,修改 Makefile,将工具链改为 arm-linux-androideabi-*,删去涉及到 64 位架构部分 c) make & make install 2.1.2 编译 pcre a) 根据参考资料设置 configure 选项即可。 b) make & make install 2.1.3 编译 zlib a) 无需编译,解压即可,编译 nginx 时由 nginx 编译框架来进行编译。 2.2 依赖 module a) nginx_mod_h264 b) nginx-rtmp-module 2.3 编译 根据参考资料修改对应的文件,需注意 sizeof 测试时应用“gcc –m32”,因为目前的 arm 为 32 位。 a) b) 缺少 glob 时可从
http://www.gaborcselle.com/open_source/android/ndk/glob/glob.c 和 http://www.gaborcselle.com/open_source/android/ndk/glob/glob.h 获得。需要修 改 issetugid()为 0。 c) 注释掉对 crypto.h 的使用,编译时加上—without-http_auth_basic_module。原因 是工具链不提供可用的 crypto.h。使用其他工具链的 crypto.h 时会有其他问题。 如 crypto.h 的依赖难以解决等。 d) 应加上—with-http_secure_link_module 用于我们的 rtmp 认证。 e) Makefile 中,CFLAGS 删去-Werror,加入相应的 include 路径,LINK 的 flag 中应加 上“-pie -FPIE”编译出 android 要求的 shared object 文件。 f)make & make install 3 参考资料 a) http://blog.csdn.net/zangcf/article/details/22688873 b) http://blog.csdn.net/vblittleboy/article/details/24316303
分享到:
收藏