zoukankan      html  css  js  c++  java
  • 音视频技术应用(2)ffmpeg项目创建和源码pdb调试设置

    1. 拷贝库文件和头文件

    在任意位置新建一个空目录,分别创建以下几个文件夹:

    bin: 用于存放刚才编译好的动态链接库文件。
    include: 用于存放头文件。
    lib: 用于存放后缀名为.lib的库文件,实际上只是库的路径。
    src: 用于存放测试的源码。
    tools: 用于存放ffmpeg 的源码,方便将来调试的时候能够进入到ffmpeg的源码。

    在bin目录下新建一个x86目录,将刚才编译好的ffmpeg动态链接库,fdk-aac的动态链接库,x264, x265的动态链接库 全部拷贝到当前目录下:

    在lib 目录下新建一个x86目录,将 ffmpeg 编译生成的库文件(以.lib结尾) 放置到该目录下:

    拷贝ffmepg的头文件到 include 目录下:

    将ffmpeg4.3的源码放置到tools目录下:

    2. 新建一个空项目

    打开VS2019, 选择“创建新项目”

     点击“创建控制台应用”,然后点击下一步:

     位置选择为我们刚才创建的源码目录,比如我刚才创建的位置就在 “D:\code\src”, 项目名称命名为:first_ffmpeg, 勾选“将解决方案和项目放在同一目录中”:

    点击“创建”,就完成了新项目的创建。

    3. 配置项目属性

    右击“first_ffmpeg”,选择“属性”:

    然后选择“C/C++”, 点击右侧的“附加包含目录”,点击右侧的下拉箭头,点击“编辑”:

    输入include 目录的相对路径:..\..\include  

    然后点击“确定”。

    头文件路径添加好了,接下来我们来添加库文件的路径:
    依次选择“链接器”-》“附加库目录”-》然后输入 ..\..\lib\x86

    接下来配置输出目录。这个输出目录指的是编译生成的.exe文件和pdb调试文件,我们把这两种类型的文件放置到同一个目录下。

    选择配置属性-“常规”-输出目录,将输出目录修改为:..\..\bin\x86

    接下来配置调试目录,我们把调试目录的地址修改为跟上面的工作目录一致:

    选择“配置属性”-“调试”-“工作目录”, 将工作目录修改为 ..\..\bin\x86 

    4. 编写一份测试code, 检查ffmpeg是否可以顺利编译通过:

    修改 first_ffmpeg.cpp 为如下代码:

    #include <iostream>
    
    using namespace std;
    
    extern "C" { // 指定函数是C语言函数,以C语言的方式去编译
    #include <libavcodec/avcodec.h>
    }
    
    // 以预处理指令的方式导入库
    #pragma comment(lib, "avcodec.lib")
    
    int main()
    {
        cout << "Hello World!" << endl;;
        cout << avcodec_configuration() << endl;
    }

    点击顶部的 “本地Windows调试器”按钮编译运行,如果能够在控制台正常打印出avcodec的相关配置信息,则说明ffmpeg已经可以顺利编译成功了。

    接下来测试下是否可以进入到ffmpeg当中的源码:

    在第15行添加断点,点击F5 开始调试,然后点击F11, 尝试进入到avcodec_configuration()函数当中,如果能顺利进入到该函数当中,则说明源码也关联成功了。

    注:第10行我们采用的是预处理的方式导入库,如果不想使用这种方式,可以右击“属性”-“链接器”-“附加依赖项”,点击右侧的下拉箭头,点“编辑” 输入avcodec.lib

    使用这种方式也可以顺利导入库。

  • 相关阅读:
    AD设计过程中的注意事项
    ds18b20再硬件设计部分的注意事项
    时序设计的注意事项
    【HackerRank】 Game Of Thrones
    【HackerRank】Halloween party
    【HackerRank】The Love-Letter Mystery
    【HackerRank】Gem Stones
    【HackerRank】Service Lane
    【HackerRank】Utopian tree
    【leetcode刷题笔记】Word Ladder II
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/15511209.html
Copyright © 2011-2022 走看看