在Visual Studio中explress C ++ 2010项目中使用的ffmpeg静态库(U

2019-09-03 16:30发布

正如标题所说,我一直在试图获得的ffmpeg / libav库在MSVC ++ 2010。不过,我一直在下面的错误运行时在调试模式编码。

码:

extern "C" 
{
    #ifndef __STDC_CONSTANT_MACROS
    #define __STDC_CONSTANT_MACROS
    #endif
    #include <libavcodec\avcodec.h>
    #include <libavformat\avformat.h>
    #include <libswscale\swscale.h>
    #include <libavutil\avutil.h>
}
int main( int argc, char* argv[] ) 
{
    av_register_all();
    return 0;
}

安慰:

1>------ Build started: Project: ffmpeg, Configuration: Debug Win32 ------
1>ffmpeg.obj : error LNK2019: unresolved external symbol _av_register_all referenced in       function _main
1>C:\Users\okki\documents\visual studio 2010\Projects\ffmpeg\Debug\ffmpeg.exe : fatal    error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我用zeranoe的最新版本的git-56ba331(2013年5月14日)。

我曾尝试以下解决这个问题:

  • 配置项目来寻找x64和x86库两者。
  • 从“共享”包中添加DLL文件都库文件夹。
  • 图书馆目录添加到两个连接选项和VC ++目录。

我一直停留在这一段时间,并且任何建议可以提供帮助。 如果需要任何额外的信息,我会很乐意提供。

Answer 1:

从下载最新文件http://ffmpeg.zeranoe.com/builds/win32/shared/和http://ffmpeg.zeranoe.com/builds/win32/dev/ (共享和开发)和解压他们到ffmpeg\sharedffmpeg\dev分别

创建一个新的控制台项目,设置“附加包含目录”的值ffmpeg\dev\include “附加库目录”到ffmpeg\dev\lib\

添加到您的代码

# pragma comment (lib, "avformat.lib")

(在实际的项目中,你至少需要文件avutil.libavcodec.lib

要运行该程序,复制*.dll文件从ffmpeg\shared\bin到输出文件夹



文章来源: Using ffmpeg static libraries in an visual studio explress C++ 2010 project