【FFMPEG】不要试图用msvc来编译ffmpeg
2024-09-08 15:28:58
原文:http://blog.csdn.net/hn756si/article/details/41147497
出于学习目的,想建一个vs2010工程来编译ffmpeg(http://www.ffmpeg.org/),但是由于意义不大,并且工作量太大放弃了。原因如下:
1、一些unix平台相关的头文件、库的依赖。这个是最好解决的,对应替换下就行了。
2、.C99支持,MSVC不支持C99,而ffmpeg需要它。比如msvc编译c文件,不能inline一个函数;还有c99怪异的初始化语法。这个工作量有些大,但是并不是不能解决的。因为对应的需要修改的语法就那么几种,花一两个小时就可以搞定。
3、许多ffmpeg中的汇编函数要求栈对齐,只有gcc4.2能保证为32位X86机上产生兼容代码,而对64位机总是需要对齐(并非只针对汇编代码)
这个就有些困难了,因为即便编译成功,也会因为对齐原因而造成运行错误。
4、ffmeg中大多数的汇编代码都是内嵌汇编,所以,编译器必须支持AT&T格式才能正常编译。
虽然俺学过一点汇编,但是仅停留在会看简单语法的阶段,真正用来写东西就完全不行了。汇编报了语法错误连怎么改都不知道。
5、最主要的,由于ffmpeg是纯c的库,所以即便是mingw编译的dll也可以正常的被msvc使用。(这点上也可以看出C语言比c++的优越性,越底层越明显)
综上,用msvc来编译ffmpeg是没有任何意义的。即便想研究代码也用不着绑到msvc的车上。
最新文章
- db2start启动失败
- TP框架实现分页
- “stdafx.h”: No such file or directory
- perl 语法速查
- Configure xterm Fonts and Colors for Your Eyeball
- Oracle开发专题之:%TYPE 和 %ROWTYPE
- github上排名靠前的java项目之_storm
- 解决ie6显示透明图的问题
- Bootstrap学习之一起步
- sqlserver 存储过程 查询
- Mark下js最大精确整数范围,业务中出现的疑难bug
- nginx nfs服务
- Kali Linux桥接模式配置DNS服务器
- Java框架spring Boot学习笔记(七):@Configuration,@bean注解
- Python turtle绘制阴阳太极图代码解析
- python中的私有变量
- [转]epoll详解
- 018-Go将磁盘目录实现简单的静态Web服务
- 《Python》并发编程
- .net core批量注入实现类