请教如何使用cygwin编译ffmpeg静态库
如果楼主实在不会看日志,就用Process Monitor监控下VC是否正确读取了库文件。
我觉得mingw出来的静态库跟VS兼容性不太好, 而链接动态库的lib问题不大.
你已经用gcc编译出目标文件了,用ar工具打包成.a文件就行了啊,示例: 如上图,假设我有test1.c,test2.c两个源文件,先使用gcc -c *.c将源文件编译成目标文件,可以看到,生成了test1.o,test2.o两个目标文件,然后,使用ar命令:ar crv libtest.
如何使用ndk为ffmpeg编译rtmp+polarssl静态库?这个问题花了我整整一天时间。其中遇到很多小问题,这里记录一下,方便自己也方便其他人。1、编译polarssl,查看其Readme文件即可,不需要configure,只需要make时带上必要的参数即可,不过要记得在每一次执行make命令时都带上CC的参数(指向你的arm gcc),因为我试过在make install时没有带上CC的参数,虽然能编译出polarssl但是未能正确被rtmp引用到。
2、因为前面我用的polarssl是当前最新(1.3.7)版本,而librtmp使用的好像是polarssl1.0.0以下版本的api,所以需要修改rtmp部分源码,让其调用新版polarssl的api,这里的修改可以参照《Migrating from PolarSSL-1.2 to the PolarSSL 1.3 branch》和《[rtmpdump] branch master updated. a312ac7 Fix compat with PolarSSL >= 1.1.0》。
3、出现 undefined reference to `havege_random’错误,这里是因为polarssl默认关闭了havege模块,需要你手动开启,主要就是修改include/polarssl/config.h,去掉POLARSSL_HAVEGE_C前的注释,也就是要定义POLARSSL_HAVEGE_C,如下:
#define POLARSSL_HAVEGE_C
4、在编译出上面两个库之后,可以开始编译ffmpeg(2.1.1版本)了,如果遇到下面的问题 check_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
ERROR: librtmp not found
这里有三种解决方法:
第一种,因为是网络上传播最多的,算是比较简便的方法,就是修改ffmpeg的configure,将以下一行:
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
改为:
enabled librtmp && require librtmp librtmp/rtmp.h RTMP_Socket -lrtmp -lpolarssl -lz
或者直接注释掉&& *** 部分,然后再自己加上librtmp的库路径也行
第二种,(比较推荐,因为解决了这个会顺带解决大部分找不到库的错误!)因为这里使用了pkg-config工具查找库,而这个工具ndk并没有附带提供,而出现check_pkg_config相关错误的话,只要稍加注意,会发现在使用configure配置ffmpeg的交叉编译时,已经有相应的pkg-config不存在的警告了。我对这个工具不熟悉,所以我只是简单地加上了一个软链接到系统的pkg-config,如下:
ln -s /usr/bin/pkg-config /home/cidy0106/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-pkg-config
这个时候重新configure的话可能会出现找不到polarssl库的错误提示,需要修改一下librtmp安装目录里的librtmp.pc,把以下内容:
Libs: -L${libdir} -lrtmp -lz
改为:
Libs: -L${libdir} -lrtmp -lz -lpolarssl
至此,就可以正确编译出ffmpeg了
请问流光怎么用
R g;Yi}x+tO1j&_ 4、at file:\/\/对方ip\/ 启动程序的时间 启动程序名 启动程序的参数 || 用at命令来定时启动程序,在这里我们用soon这个程序来做也可以,它可以取代 3\/4两步。 Luw UB @)L2~fy S0@lz 5、 telnet 对方ip 端口 || 1Q&LR1Z3W\/h } {K9x J4s-U(K%...
迟什么观望成语
迟疑观望 拼音 chí yí guān wàng 简拼 cygw 成语解释 谓犹豫等待,不作决定。成语出处 清·李渔《比目鱼·肥遁》:“相公,俞旨既下,就该速速抽身,为什么还要迟疑观望?”词语辨析 近义词 迟疑顾望、迟徊观望 感情色彩 贬义词 成语结构 联合式 成语用法 作谓语、定语、状语;用于处事 ...
迟疑顾望是什么意思怎么读
基本信息 成语简拼: CYGW 成语注音: ㄔˊ 一ˊ ㄍㄨˋ ㄨㄤˋ 成语繁体: 迟疑顾望 成语字数: 四字成语 成语结构: 联合式
南京禄口机场无锡接待点时刻表
到达禄口机场后,无锡地区普通旅客还可享受专人引导、专用通道、优先登机等尊贵的“一站式无缝隙服务”。垂询热线:0510-82405018 关于发车时间或者接待时间,您可以去电咨询。参考资料:http:\/\/www.njiairport.com.cn\/web\/kgzn_cygw.htm
教你如何在Windows环境下安装python2和python3两个版本
一、python下载:下载地址:www.python.org 这是我下载的当前python 2.x 和 python 3.x 最新版本的安装包 二、安装python 2.x双击 python-2.7.12.amd64.msi 然后一路 Next就可以了。需要注意的是python 2.x 默认安装在 C盘根目录下,这非常便于查找,因此我们安装 python 3.x的时候也建议...
3dmax2014激活码,64位,自己注册机算一直提示错误,怎么办?
1、使用安装序列号为:666-69696969,产品密钥:128F1 安装 3DMax2014;2、打开 3Ds Max2014 点击右下角的“激活”按钮;在出现的对话框中点击关闭;3、重新打开3DMax ,再次点击激活按钮,选择“我具有Autodesk提供的激活码”;4、打开注册机xf-3dsmax_x64点击 “Patch”后点击“Generate”;5、将算...
3个PS问题、高手进来
1.用魔术棒工具选择,填充需要颜色.做一些效果处理.2.图片用添加画布选择边颜色就可以了,或画笔,或描边等方法.如果是gif那就要做图层边框了.3.gif图层加颜色框就可以了.
200分丶丶丶丶动漫 —— 音乐
http:\/\/down.dm123.cn\/k\/s\/dm38sks30912\/cygwy2j_ed\/01.mp3 本人稀饭开头,和高潮部分 祈りの歌 http:\/\/piaolf.djgcn.com\/web\/music\/Music\/%C6%ED%A4%EA%A4%CE%B8%E8.mp3 小林沙苗唱的,我比较喜欢她的声音 恋する天気図 http:\/\/www.st020.com\/zhuanji\/{A3528E4F-4051-46DE...
求骆驼祥子的故事梗概和赞扬[鞭挞]精神
他坚韧顽强的咬着牙,用孤苦的挣扎编织着美丽的梦想。祥子连遭厄运,主要可以分为事业上的买车与个人生活上的娶妻两方面。命运的安排却是他追求不可得,躲避的被强加。所有这些,都表明祥子在命运的作弄面前不甘失败,竭力挣扎和抗争的生活姿态。当虎妞病亡、祥子为葬妻而不得不再一次卖掉车子,此生已...
欲求一些好听的动漫歌曲
http:\/\/down.dm123.cn\/k\/s\/dm38sks30912\/cygwy2j_ed\/01.mp3明日へ架ける桥http:\/\/sound.being.co.jp\/sound\/gzca-7049\/gzca-7049.ramstill dollhttp:\/\/audio.t8.bjradio.com.cn\/2008\/07\/30\/62272_0a2008073022561880234.mp3ふたつの鼓动と赤い罪http:\/\/audio.t8.bjradio.com.cn\/2008\/08\/27\/63966...
释庾必洛: 你好,1、可以安装cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件,搜索官网下载即可,下载完成,安装的时候注意记得安装相关语言的编译器、解释器,在cygwin中生成Linux可执行文件.2、 可以安装vmware、virtualpc等虚拟机,在虚拟机里安装linux系统,然后在linux系统中编译相应的源码,生成linux上的可执行文件.
宜昌市19586988372: 如何在windows下编译linux的开源程序 - ?
释庾必洛: 总共又三种方案:mingw+codeblocks,是windows下的gcc编译工具+跨平台的轻量ide,可以编译c++的程序,还可以使用wxWidget(跨平台的界面工具) 使用cygwin,是windows下中间件级别的编译工具.可以在cygwin下用命令行编译程序.使用vmware或者其他虚拟机,安装目标linux系统,并且编译.这是虚拟硬件级别的编译工具,其编译的程序是完全可以在linux系统上运行的.
宜昌市19586988372: cygwin把源程序链接到指定的库进行编译,用什么指令? - ?
释庾必洛: 如果你意思是问怎样生成库,那查编译器相关的,看你用的什么编译器toolchain(VC? GCC?),手册都会有编译器、链接器的命令行参数说明,编译时用相关选项指定库路径即可 如果你的问题是和Cygwin的路径和环境变量有关的,打开cygwin安装目录,你会看到熟悉的目录路径,和linux类似的. bin下面放可执行文件,usr/include里面是一些库的头文件,lib下面放那些动、静态库文件.对应扔这些目录里面也可以,或者查手册应该也能找到改Cygwin环境变量的方法,添加你的库路径就行. cygwin里面,windows的c盘对应路径为/cygdrive/c/ d为/cygdrive/d/ 其他同理...
宜昌市19586988372: 如何在WINDOWS下利用Cywin编译LINUX程序呢? - ?
释庾必洛: 以下 {$}为提示符 下载文件到 你安装cygwin的文件夹 通常是 X:\cygwin\home\{yourname}\ 一般应该是tar.gz 或者tar.bz2 文件 前者用$tar zxvf xxx.tar.gz 解压 后者用$tar jxvf xxx.tar.bz2 解压 解压后 $cd xxx 然后用标准方式 $./configure$make$make install 这样即可编译完成 之前确定你cygwin 中的gcc automake autoconf 的开发组件安装完全 简单的就是吧devel中全部选中安装就可
宜昌市19586988372: windows下如何用cygwin 编译gmp - ?
释庾必洛: cygwin可以编译生成windows下供调用的dll,包括vc可识别的lib.Cygwin-GCC : Cygwin自带了一个GCC, 用于把C/C++-Source编译成Cygwin平台下的EXE/DLL (使用Cygwin必须用其自带的GCC, 因为内部会生成一些针对于平台的特定的...
宜昌市19586988372: 如何将Matlab程序移植到Android平台上 - ?
释庾必洛: 方法如下:1、将Matlab重写为C,在高版本Matlab里找应用程序编译器功能,选择生成C/C++ Static Library并选中Generate code only.2、然后用cygwin编译成*.so库.3、Android中使用JNI调用.注意:不是Matlab和C混合编译,混合编译你要有Matlab的解释器才可以.Matalb中一个简单的Sobel算子重写为C,就生成了如下一堆代码
宜昌市19586988372: win7下GCC已经安装好,怎么开始编译?点哪个文件打开编译器? - ?
释庾必洛: 1、 先去Cygwin网站下载一个安装文件(setup.exe),这个文件体积很小,只有不到300KB.然后双击运行setup.exe.因为是第一次安装,所以必须选择从Internet在线安装,也可以先从Internet下载安装文件,然后再手动安装.我选择后者,因...
宜昌市19586988372: 如何在WINDOWS下利用Cywin编译LINUX程序呢??
释庾必洛: 先写好gcc程序,保存为 test.c 然后在环境里没有把文件的路径放进去 之后执行 gcc -o test test.c
宜昌市19586988372: 如何在windows bat脚本中调用Cygwin并执行命令? - ?
释庾必洛: 解决方案一: 在Cygwin目录中找到.bashrc或者.bash_profile文件, 添加你的命令到文件末尾. 这样做的话每次启动Cygwin都会执行你的命令. 解决方案二: @echo offC:chdir C:\cygwin\bin
宜昌市19586988372: windows的安装的cygwin怎么用 - ?
释庾必洛: 在官网(自行搜索)上下载cygwin,双击打开,点击下一步软件会让你选择如何安装,有三种方式,我们选择第一种,也就是从网络上直接下载安装点击下一步,选择安装目录,默认的是C盘的根目录,你也可以选择到其他的文件夹,下面默...