在Visual Studio 2010中链接libavformat

Mat*_*ine 2 c++ ffmpeg visual-studio-2010 visual-c++ libavformat

我正在尝试围绕libavformat构建一些视频阅读代码.获得编译的DLL和之后.lib的文件在这里,我去打造我的代码,并链接器无法找到任何即使我在所提供的已关联了libavformat符号的 .lib文件.

检查libavformat.libdumpbin -headers显示它导出所需功能以下划线前缀.例如,当我想调用时avformat_open_input,.lib文件给出_avformat_open_input.

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

And*_*ner 7

你需要做以下所有任务使用libavMSVC++.首先转到Zeranoe

  1. 下载Shared版本,.dllbin文件夹中复制所有文件并将其粘贴到exe将生成的输出目录中.
  2. 下载Developer版本,.liblib文件夹中复制所有文件并将其粘贴到您的主c ++文件中(例如,文件Folder-1\Folder-2在哪里Folder-1,.sln因此您必须将.lib文件放入Folder-2)
  3. Developer您在步骤2中下载的版本中复制include文件夹中的所有目录并将其粘贴到Folder-2中(请参阅步骤2中有关Folder-2的详细信息)
  4. 下载inttypes.hstdint.h,将其保存在此位置C:\Program Files\Microsoft Visual Studio 10.0\VC\include\文件夹中.
  5. 要包含头文件,请使用以下语法

你必须使用它,extern因为它libav是一个C库.

extern "C" {
    #include "libavcodec/avcodec.h"
    #include "libavdevice/avdevice.h"
    #include "libavfilter/avfilter.h"
    #include "libavformat/avformat.h"
    #include "libavutil/avutil.h"
}
Run Code Online (Sandbox Code Playgroud)