vs2010直接调用av_register_all crash问题

需要做一个视频导出的功能,通过ffmpeg来实现,vs2010里面引用ffmpeg库的 dll 和 lib 文件

第一步
av_register_all
就直接crash了, 查了近半天的时间,都快崩溃了,无意中网上看到一个帖子,

The setting is under "Linker | Optimization | References" set to "Keep Unreferenced Data (/OPT:NOREF)" – Adi Shavit Jun 24 '13 at 19:10

试了一下,居然好了。。。。。。

由于引用ffmpeg的工程个静态库,所以没有这些选项,因此只得在调用此静态库的dll工程里面设置:
Linker | Optimization | References-----(/OPT:NOREF)

微软关于这个的解释是:
/OPT:REF eliminates functions and/or data that are never referenced 清除从未引用的函数和数据
/OPT:NOREF keeps functions and/or data that are never referenced 保留从未引用的函数和数据。

默认是/opt:REF

https://msdn.microsoft.com/zh-cn/library/bxwfs976.aspx

通俗点就是: 在链接期间,编译器会把一些你从未没有使用过的函数或者数据给优化掉,即最终的程序中不包含此部分函数和数据的执行代码

反过来,就是优化时,编译器不做此类工作。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容