当前位置: 首页 > news >正文

绵阳网站建设制作企业手机网站 案例

绵阳网站建设制作,企业手机网站 案例,网站建设选用平台分析,wordpress调用指定文章图片需求#xff1a; 1. 纯静态编译ffmpeg ,即ldd ./ffmpeg 的结果是#xff1a;not a dynamic executable2. 修改ffmpeg 项目#xff0c;添加自定义功能库3. 自定义库由c实现#xff0c;要求能被纯c的ffmpeg项目调用4. 自定义库必须使用g 的一些高级特性编译#xff0c;要求… 需求 1. 纯静态编译ffmpeg ,即ldd ./ffmpeg 的结果是not a dynamic executable 2.  修改ffmpeg 项目添加自定义功能库 3. 自定义库由c实现要求能被纯c的ffmpeg项目调用 4. 自定义库必须使用g 的一些高级特性编译要求g支持c11 5. 自定义库使用了pthread库 和openmp 库 6. 自定义库使用了opencv 3.0.0库 7. 禁用所有的图形显示库x11,xcb,声音设备avdevice等等静态链接这些库会很痛苦。 动手之前需要注意 A. ffmpeg.org (CentOS或 Ubuntu)的方法是不能达到需求1的因为它大量使用包管理软件(yum 或apt-get)安装一些ffmpeg的依赖库而这些依赖库大多是动态版本(.so.*) 。这就使得编译ffmpeg时无法静态链接这些依赖库。因而非开发工具(如gcc g pkg-config aotoconf etc )的依赖库如ass,freetype,sdl theora, jpeg png,etc需要手动下载它们的源码(以及这些依赖库的依赖库)然后编译得到静态库(.a)。一般来说这些依赖库多数是configure 配置然后make,make install。 ./configure *** --enable-sharedno --enable-staticyes --with-***/dir B.自定义功能库也类似于上述方法写好myfunc.cpp,然后g编译ar打包成.a。但是由于我们写好的cpp要求c11特性而CentOS6.5上的gcc/g版本为4.4.7不支持c11。因而需要安装gcc4.8以上版本。从repo里面无法安装较新的gcc的话只能自行下载gcc源码自行编译了。然而发现了一个第三方的编译好的工具链devtool3它提供了gcc 4.9.2 以及配套的binutils工具。然而不要急先不要安装它看完本注意事项。 C.要求c打包的库能够被ffmpeg的项目链接要求libstdc.a -lstdc能够使用openmp要求libgomp.a ( -fopenmp); libstdc.a可以通过yum install libstdc-static得到但是libgomp.a则没有对应的方法。 综合B和C的注意事项我们应该自行编译gcc而不是使用系统自带的gcc或者yum apt-get下载安装的因为自行编译gcc能够直接得到libstdc.a和libgomp.a这些静态库。我选用的版本是gcc4.8.4同样地配置它编译出静态库。配套的Binutils也需要重新编译。 D. glibc是GNU的标准C库实现如果要静态链接glibc这些底层的库_——libc.a,libm.a,librt.a,libdl.a,libpthread.a ,需要安装glibc的静态版本 #yum install glibc-static,  #whereis libc.a找到路径 #cp 路径/libc.a ~mydir/其它4个库类似重新拷贝到一个新的位置以防链接时优先选择动态链接当然把这个路径放在LDFLAGS最前面 E.opencv 和ffmpeg在配置阶段(分别使用cmake和configure)务必关闭所有的与图形IO相关的依赖因为图形库的静态版本太难找了依赖关系特别冗长繁杂。 F. 最终链接ffmpeg时候由于ffmpeg依赖了一些库如x264,x265freetype等它们各自依赖了glibc的一些库如librt,libm,libc,libdl。因而原始命令(#make -n|grep ffmpeg_g)中glibc的一些库(libm,libc,librt,libdl,libpthread)被反复调用分布于多个地方如下 gcc  -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -L/home/ffmpeg/ffmpeg_sjtu/lib  -Wl,--as-needed -Wl,-z,noexecstack -Wl,--warn-common -Wl,-rpath-linklibpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample   -o ffmpeg_g cmdutils.o ffmpeg_opt.o ffmpeg_filter.o ffmpeg.o   -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil  -L/home/ffmpeg/ffmpeg_build/lib -lx265 -lstdc-lm -lrt -ldl -L/home/ffmpeg/ffmpeg_build/lib -lx264 -lpthread -lm -ldl -L/home/ffmpeg/ffmpeg_build/lib -lvpx -lm -lpthread -L/home/ffmpeg/ffmpeg_build/lib -lvpx -lm -lpthread -L/home/ffmpeg/ffmpeg_build/lib -lvpx -lm -lpthread -L/home/ffmpeg/ffmpeg_build/lib -lvpx -lm -lpthread -ltheoraenc -ltheoradec -logg -L/home/ffmpeg/ffmpeg_build/lib -lopus -lm -lmp3lame -L/home/ffmpeg/ffmpeg_build/lib -lfribidi -L/home/ffmpeg/ffmpeg_build/lib -lfreetype -lz -L/home/ffmpeg/ffmpeg_build/lib -lfontconfig -lxml2 -llzma -lm -lfreetype -lz -L/home/ffmpeg/ffmpeg_build/lib -lfdk-aac -lm -L/home/ffmpeg/ffmpeg_build/lib -lass -lharfbuzz -lfontconfig -lenca -lfribidi -lxml2 -llzma -lm -lfreetype -lz -lm -llzma -lbz2 -lz -pthread -lrt -lstdc      -L/home/ffmpeg/sjtu_fruc/lib -lsjtu_fruc  -fopenmp   -L/usr/local/lib -L/usr/local/share/OpenCV/3rdparty/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lopencv_hal -lzlib -llibjpeg -llibwebp -llibpng -llibtiff -llibjasper -ltbb -lippicv -lstdc -ldl -lm -lpthread -lrt    因此为了能够静态链接glibc的几个库需要手动修改这条最终的链接命令把所有glibc的库放到最后以如下方式 -lm -lrt -ldl  -lm -lpthread -lrt   -static -lc   注意-static -lc libc.a必须放到最后(pthread之后)因为pthread和c库有函数重定义的冲突。   这条语句最终为 printf LD\t%s\n ffmpeg_g; gcc  -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -L/home/ffmpeg/ffmpeg_sjtu/lib  -Wl,--as-needed -Wl,-z,noexecstack -Wl,--warn-common -Wl,-rpath-linklibpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample   -o ffmpeg_g cmdutils.o ffmpeg_opt.o ffmpeg_filter.o ffmpeg.o   -lavdevice -lavfilter -lavformat -lavcodec -lpostproc -lswresample -lswscale -lavutil  -L/home/ffmpeg/ffmpeg_build/lib -lx265 -L/home/ffmpeg/ffmpeg_build/lib -lx264 -L/home/ffmpeg/ffmpeg_build/lib -lvpx  -L/home/ffmpeg/ffmpeg_build/lib -lvpx  -L/home/ffmpeg/ffmpeg_build/lib -lvpx  -L/home/ffmpeg/ffmpeg_build/lib -lvpx -ltheoraenc -ltheoradec -logg -L/home/ffmpeg/ffmpeg_build/lib -lopus -lmp3lame -L/home/ffmpeg/ffmpeg_build/lib -lfribidi -L/home/ffmpeg/ffmpeg_build/lib -lfreetype -lz -L/home/ffmpeg/ffmpeg_build/lib -lfontconfig -lxml2 -llzma -lfreetype -lz -L/home/ffmpeg/ffmpeg_build/lib -lfdk-aac -L/home/ffmpeg/ffmpeg_build/lib -lass -lharfbuzz -lfontconfig -lenca -lfribidi -lxml2 -llzma -lfreetype -lz  -llzma -lbz2 -lz   -L/home/ffmpeg/sjtu_fruc/lib -lsjtu_fruc  -fopenmp   -L/usr/local/lib -L/usr/local/share/OpenCV/3rdparty/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lopencv_hal -lzlib -llibjpeg -llibwebp -llibpng -llibtiff -llibjasper -ltbb -lippicv -lstdc -lm -lrt -ldl  -lm -lpthread -lrt   -static -lc 尽管它执行会报出一些warnning,但是不影响生成ffmpeg_g可执行文件。 然后执行 #cp ffmpeg_g ffmpeg #strip ffmpeg 即可 测试ffmpeg
http://www.yutouwan.com/news/92131/

相关文章:

  • 上海网站seo设计提升网站的访问速度
  • 吉安seo网站快速排名做网站生意买螃蟹
  • 从客户—管理者为某一公司做一份电子商务网站管理与维护的方案onethink 网站
  • 建永久网站企业网站搭建方案
  • 盐城网站建设有限公司制作线下交易平台网站建设
  • 建立网站的第一步食品工厂设计平面图
  • google网站管理员工具 下载wordpress 字体 图标
  • 可以自己设计一个公司的网站东莞网页平面设计
  • 网站建设进度汇报网站建设先进城市
  • 网站 工作室 建设 方案企业邮箱邮箱
  • 网站建设方案范文1000字iis 与 wordpress
  • 如何通过建立网站赚钱做静态网站的参考文献
  • 网站综合营销方案为什么建设法律法规网站
  • 建网站一般用什么工具郑州哪家医院看妇科比较专业
  • 商业网站开发实训报告网站建设与栏目设置
  • 网站后台使用app推广视频
  • 衡阳百度网站建设全屋定制都包括什么
  • 培训机构网站建设要求怎么样在网站做产品推广
  • wordpress move 下载win7最好的优化软件
  • 浙江艮威水利建设有限公司网站wordpress 七牛云图床
  • 光通信网站模板郑州百度搜索优化
  • 电商网站商品中心设计方案一家专门做内部优惠的网站
  • 代理网页地址青岛网站关键字优化
  • 中山 网站建设一条龙服务做网站花了三万块
  • 襄阳做网站公司哪家好网站空间在哪买
  • 自己做的网站如何在网络上展示多用户自助建站
  • 长沙经开区建管站甘肃新闻最新消息今天
  • 网站菜单怎么做有自己的域名怎么建设网站
  • 网站开发时间进度品牌策划ppt案例
  • 网站用什么语言wordpress查看数据库文件