交叉编译feng提供参考.doc_第1页
交叉编译feng提供参考.doc_第2页
交叉编译feng提供参考.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

我交叉编译的是feng -2.1.0需要:- a full Posix compatible system (suggested any linux distribution)- gnu toolchain (gcc = 3.4 , make = 3.80, libtool = 1.5.20) 1- glib-2 = 2.10 2- ffmpeg = 0.5 3- netembryo = 0.1.0 4- libev = 3.48 5交叉编译环境:davinci:Cross-Compile使用:ffmpeg 0.5netembryo 0.1.1libev 3.71export prefix=/home/amy/workdir/cross-rtp/fengecho $prefix2./libev-3.7/configure -prefix=$prefix -build=i386 -host=arm CC=arm_v5t_le-gcc3/before netembroyo./lksctp-tools-1.0.11/configure -prefix=$prefix -build=i386 -host=arm CC=arm_v5t_le-gcc这里是因为一般的 linux 发行版,准确的是内核,是不添加 sctp 支持的,因为这个毕竟是10年后的技术,因此,就需要安装 lksctp-tools-1.0.11 ,在 configure netembryo 的时候,要注意,sctp support ,否则 feng 无法运行./netembryo-0.1.1/configure -prefix=$prefix -build=i386 -host=arm -enable-sctp -enable-ipv6 CC=arm_v5t_le-gcc LDFLAGS=-L/home/amy/workdir/cross-rtp/feng/lib CFLAGS=-I/home/amy/workdir/cross-rtp/feng/include4/before ffmpegCC=arm_v5t_le-gcc ./glib-2.22.4/configure -cache-file=glib.cache -with-gnu-ld -prefix=$prefix -build=i386 -host=arm注意: glib 的编译,glib 是个很强大的库,提供很多函数,在 ffmpeg 编译的时候需要glib.cache 这样写glib_cv_stack_grows=noglib_cv_uscore=yesac_cv_func_posix_getpwuid_r=noac_cv_func_nonposix_getpwuid_r=noac_cv_func_posix_getgrgid_r=no具体问题,可以参考官网为什么要有 glib.cache 呢?很简单,就是因为它是库函数,关于运行平台,而平台的参数,因为是 cross-compile ,没有办法读取,因此,就要 .cache 了可能遇到的错误:error:libtool: eval: line 964: syntax error near unexpected token |tricky solution(解决方案)USE_ARCH=32 NM=nm CC=mipsel-linux-gnu-gcc $BUILD32 ./configure -with-gnu-ld -target=mipsel-linux -host=mipsel-linux CC=mipsel-linux-gnu-gcc -prefix=/usr5./ffmpeg-0.5/configure -arch=arm -prefix=$prefix -cc=arm_v5t_le-gcc -enable-cross-compile -host-ldflags=-L/home/amy/workdir/cross-rtp/feng/lib -host-cflags=-I/home/amy/workdir/cross-rtp/feng/include -disable-strippinglibtool经常会遇到版本问题,以下是我总结,希望有高手能系统地总结1重新安装./libtool-1.5.20/configure -prefix= -build=i386 -host=arm CC=arm_v5t_le-gcc2有人说可以改文件里面的 $echo ,不是很懂$echo - $ECHO3这是很多开源软件的 README 提供的方案libtoolize -copy -force4就是上面 glib 上提到的tricky关于 libtool 是很值得去探究下的,不管使自己写软件用,还是以后交叉编译,编译6export PKG_CONFIG_PATH=/home/amy/workdir/cross-rtp/feng/lib/pkgconfig要 export PKG_CONFIG_PATH这是关于 pkg 的问题,随后我会再加 博文上去CC=arm_v5t_le-gcc CFLAGS=-I/home/amy/workdir/cross-rtp/feng/include LDFLAGS=-L/home/amy/workdir/cross-rtp/feng/lib ./feng-2.1.0_rc1/configure -prefix=$prefix -build=i386 -host=arm -enable-sctp -enable-ipv6feng 的交叉编译就到这里还有一些小 tips在编译过程中总会涉及到工具库的使用,如果真的是工具库,其实可以考虑要不要交叉编译,能不能直接 apt-get ,这里我的看法是:如果是动态链接,那是交叉编译定了,如果是静态链接,倒可以考虑 apt-get ,因为静态链接是编译时引用相关函数还有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论