在 Visual Studio 2010 中构建任何 ffmpeg 项目时出现错误链接 2001 libavformat.a(tls_schannel.o)
Posted
技术标签:
【中文标题】在 Visual Studio 2010 中构建任何 ffmpeg 项目时出现错误链接 2001 libavformat.a(tls_schannel.o)【英文标题】:Error Link 2001 libavformat.a(tls_schannel.o) when building any ffmpeg project in Visual Studio 2010 【发布时间】:2016-03-07 06:57:54 【问题描述】:我刚刚构建了 ffmpeg 最新版本 3.0,当我尝试在 Visual Studio 2010 中构建 ffmpeg 相关项目时,出现此错误:
libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _FreeContextBuffer@4
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _InitializeSecurityContextA@48
1>libavformat.a(tls_schannel.o) : 错误 LNK2001: 无法解析的外部符号 __imp__ApplyControlToken@8
1>libavformat.a(tls_schannel.o) : 错误 LNK2001: 无法解析的外部符号 __imp__FreeCredentialsHandle@4
1>libavformat.a(tls_schannel.o):错误 LNK2001:无法解析的外部符号 __imp__DeleteSecurityContext@4
1>libavformat.a(tls_schannel.o) : 错误 LNK2001: 无法解析的外部符号 _AcquireCredentialsHandleA@36
1>libavformat.a(tls_schannel.o):错误 LNK2001:无法解析的外部符号 _DecryptMessage@16
1>libavformat.a(tls_schannel.o):错误 LNK2001:无法解析的外部符号 _EncryptMessage@16
1>libavformat.a(tls_schannel.o):错误 LNK2001:无法解析的外部符号 _QueryContextAttributesA@12
我的项目能够从 2014 年开始构建旧版本。当我在 2014 年 ffmpeg 中搜索时,没有 tls_schannel.c 存在。
但我现在必须使用最新的 ffmpeg3.0 制作项目。 所以请告诉我如何使它工作。
【问题讨论】:
【参考方案1】:通过以下步骤解决上述问题: 我已经运行了命令行 ./cibfugyre --toolchain=msvc --enable-gpl --disable-network
然后我用 make 命令再次构建。
然后我包含了结果库和标题,我的项目现在正在运行。 问题是我没有做--disable-network。为此你可以做谷歌。
谢谢。
【讨论】:
./configure --toolchain=msvc --enable-gpl --disable-network 我之前写错了./cibfugyre以上是关于在 Visual Studio 2010 中构建任何 ffmpeg 项目时出现错误链接 2001 libavformat.a(tls_schannel.o)的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Visual Studio 2010 (msbuild?) 构建速度不快?
如何在没有 ftpServer 标签的 Visual Studio 2010 中构建部署包?
如何在 Access2007 中使用基于 Visual Studio (2008/2010) 构建的 XML Web 服务