我刚刚构建了 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) : error LNK2001: unresolved external symbol __imp__ApplyControlToken@8
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol __imp__FreeCredentialsHandle@4
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol __imp__DeleteSecurityContext@4
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _AcquireCredentialsHandleA@36
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _DecryptMessage@16
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _EncryptMessage@16
1>libavformat.a(tls_schannel.o) : error LNK2001: unresolved external symbol _QueryContextAttributesA@12
我的项目能够从 2014 年开始构建旧版本。当我在 2014 年 ffmpeg 中搜索时,没有 tls_schannel.c 存在。
但我现在必须使用最新的 ffmpeg3.0 制作项目。
所以请告诉我如何使它工作。
最佳答案
上述问题通过以下步骤解决:
我已经运行命令行 ./cibfugyre --toolchain=msvc --enable-gpl --disable-network
然后我用 make 命令再次构建。
然后我包含了生成的库和标题,我的项目现在正在运行。
问题是我没有做--disable-network。为此,你可以做谷歌。
谢谢你。
关于c++ - 在 Visual Studio 2010 中构建任何 ffmpeg 项目时出现错误链接 2001 libavformat.a(tls_schannel.o),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837885/