首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接Visual Studio 2010中的libavformat

链接Visual Studio 2010中的libavformat
EN

Stack Overflow用户
提问于 2012-07-03 06:11:27
回答 3查看 3.7K关注 0票数 2

我正在尝试构建一些围绕libavformat的视频读取代码。在获得编译后的DLL和.lib文件here之后,我开始构建代码,即使我已经在提供的.lib文件中进行了链接,链接器也找不到任何libavformat符号。

使用dumpbin -headers检查libavformat.lib会发现它导出了带有下划线前缀的所需函数。例如,当我想调用avformat_open_input时,.lib文件给出了_avformat_open_input

为什么会这样,为什么我不能链接预编译的dll?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-23 17:23:31

要在MSVC++中使用libav,您需要执行以下所有任务。第一个转到Zeranoe

generated.

  • Download

  • Download Shared Version,从bin文件夹中复制所有.dll文件并粘贴到exe将为generated.

  • Download Developer版本的输出目录中。复制lib文件夹中的所有.lib文件并将其粘贴到主c++文件所在的位置(例如,Folder-1\Folder-2Folder-1包含.sln文件,因此您必须将.lib文件放在步骤2中下载的Folder-1\Folder-2 Developer版本中复制include文件夹中的所有目录并将其粘贴到文件夹-2(请参阅步骤2中有关文件夹-2的详细信息)

<代码>H124下载<代码>C25和stdint.h,将其保存在此位置C:\Program Files\Microsoft Visual Studio 10.0\VC\include\

  • ,以包括使用以下语法的头文件:

您必须使用此extern,因为libav是一个C库。

代码语言:javascript
复制
extern "C" {
    #include "libavcodec/avcodec.h"
    #include "libavdevice/avdevice.h"
    #include "libavfilter/avfilter.h"
    #include "libavformat/avformat.h"
    #include "libavutil/avutil.h"
}
票数 8
EN

Stack Overflow用户

发布于 2012-07-03 06:30:05

获取32位库就可以了:)您的应用程序平台必须与所使用的库匹配(反之亦然)。

票数 0
EN

Stack Overflow用户

发布于 2012-10-30 16:00:11

把它编译成.lib静态库怎么样?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11301864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档