LibVLC在Release版下出现异常

[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Broly的博客,本文链接: LibVLC在Release版下出现异常

写了个MFC程序,需要用到LibVLC库,在编译debug版本的时候用的好好的,但是编译成release版后,打开就会出错!

刚开始还以为是其他库的问题呢,后来调试了下发现是LibVLC的问题,网上找到了解决方法:

解决方法:/OPT:REF 相关的问题

在项目 Properties->Linker->Optimization->References,将Yes(/OPT:REF)设置为No(/OPT:NOREF)

至于这个参数的作用,官网介绍如下:

/OPT:REF 清除从未引用的函数和/或数据,而 /OPT:NOREF 保留从未引用的函数和/或数据。

默认情况下,LINK 移除未引用的封装函数。 如果对象已经用 /Gy 选项编译过,它包含封装函数 (COMDAT)。 此优化称为可传递的 COMDAT 消除。 若要重写该默认值并在程序中保留未引用的 COMDAT,请指定 /OPT:NOREF。 可以使用 /INCLUDE 选项重写特定符号的移除。

通俗点的解释就是:

参考链接:《VLC的libvlc.dll在release版调用时出现异常解决方法

https://msdn.microsoft.com/zh-cn/library/bxwfs976(v=vs.80).aspx

如果本文对您有所帮助,可以请作者喝杯咖啡,感谢支持^_^

支付宝支付
微信支付

发表评论

电子邮件地址不会被公开。 必填项已用*标注