首页 > 其他分享 >ffmpeg学习window下使用Visual Studio创建cpp项目添加ffmpeg源代码编译好的依赖库

ffmpeg学习window下使用Visual Studio创建cpp项目添加ffmpeg源代码编译好的依赖库

时间:2024-03-28 12:34:54浏览次数:26  
标签:源代码 头文件 ffmpeg 项目 编译 Visual 文件夹 include

ffmpeg学习window下使用Visual Studio创建cpp项目添加ffmpeg源代码编译好的依赖库

1. 创建cpp项目

  1. 启动Visual Studio,创建新项目

  2. 选择控制台运用程序

  3. 随便输入一个项目名称,点击创建,完成hello world项目的创建

  4. 编译和运行项目,按f7编译项目,按f5运行项目

  5. 下次重新打开项目怎么打开?

    直接双击ffmpeg-test目录下的.sln文件,visual studio就会自行打开ffmpeg-test项目啦

2. 添加头文件和.a库文件

首先在项目ffmpeg-test目录下新建两个文件夹,一个是include存放头文件,一个是lib存放依赖库文件。

1. 分别将fdk-aac、lame、libsym、x264头文件和库文件拷贝到项目下的include文件夹、lib文件夹下

  1. 将/usr/local/include/下的头文件拷贝到项目ffmpeg-test/include文件夹下

  2. 将/usr/local/lib/下的库文件拷贝到项目ffmpeg-test/lib文件夹下

2. 分别将ffmpeg头文件和库文件拷贝到项目下的include文件夹、lib文件夹下

  1. 将/usr/local/ffmpeg/include下的所有头文件即8个libxxx文件夹 拷贝一份到项目的include文件夹下

  2. 将/usr/local/ffmpeg/lib下的所有库文件即8个libxxx.a文件 拷贝一份到项目的include文件夹下

3. 拷贝头文件和库文件到项目目录下之后的文件结构

  1. include文件夹结构

  2. lib文件夹结构

3. 配置头文件和库文件

头文件和库文件添加到项目后,还需要进行配置,告诉项目在哪里查找和使用这些头文件和库文件

  1. 右键项目,属性,打开属性设置页面

  2. 属性配置 -> C/C++ -> 常规 -> 附加包含目录,配置头文件路径

  3. 属性配置 -> 链接器 -> 常规 -> 附加库目录,配置库文件路径

  4. 属性配置 -> 链接器 -> 输入 -> 附加依赖项,配置库文件名称

4. 添加测试代码

完成上面的配置之后,可以先按f7编译一次,正常情况下是可以正常编译通过的。

  1. 添加测试代码,如下所示

    #include <iostream>
    //这里要注意:需要使用extern "C"包括头文件引入,因为ffmpeg-test是cpp项目,而ffmpeg本身是c编写的项目
    extern "C" {
    #include "libavcodec/avcodec.h"
    #include "libavformat/avformat.h"
    }
    
    int main()
    {
        //按住Ctr鼠标能点击跳转进去,包括上面的头文件也能跳转进去,说明配置的头文件路径是对的
        const char* configure = avcodec_configuration();
        std::cout << "Hello World!\n" << configure << std::endl;
        return 0;
    }
    
    
  2. 编译运行项目

  • 按f7编译一把项目,正常情况是能编译通过的,如果编译不过可能上头文件配置有问题

  • 按f5运行项目,正常情况是能运行起来并打印出ffmpeg配置信息的,如果运行出错可能是库文件配置有问题

备注:写得好像有点详情,不过本人也是初学者,记录详情一点,以备后续查找方便。

标签:源代码,头文件,ffmpeg,项目,编译,Visual,文件夹,include
From: https://www.cnblogs.com/yongfengnice/p/18101328

相关文章

  • 天锐绿盾文档加密软件,文件加密,图纸加密,源代码透明加密系统
    #天锐绿盾#天锐绿盾文档加密系统专注于为企业提供全面的数据安全保护方案,尤其在文件、图纸以及源代码加密方面具备显著的优势,用于防止敏感信息和知识产权外泄:天锐绿盾|办公透明加密、数据防泄漏PC地址:https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-......
  • iMessage群发软件好用吗?有哪些基础源代码?
    随着科技的发展,即时通讯工具已经成为了我们日常生活中不可或缺的一部分,iMessage作为苹果公司推出的一款即时通讯软件,凭借其优秀的用户体验和跨平台特性,受到了广大用户的喜爱。而围绕iMessage,市面上也出现了一些群发软件,它们声称可以帮助用户更方便地进行批量消息发送,那么,这些i......
  • 901-深入浅出Python量化交易实战的配套视频和代码(段小手)中文PDF+源代码(源文件)
    小瓦的故事——从零开始本书源于一个真实的故事,故事的主角是一位名叫小瓦的姑娘。小瓦出生在一个普通的家庭,父母都是老实淳朴的普通人,靠着并不丰厚的收入把小瓦养育成人。18岁那年,小瓦考上了一所不好不坏的大学,所学专业是一个就业前景算不上理想的专业。再加上她本身也谈不......
  • 使用compileall模块编译Python的源代码
    编译当前目录及子目录所有python源码为pyc文件python-mcompileall-b.参数说明-b:这个选项告诉compileall模块在编译时进行备份。它会为每个已编译的源文件创建一个备份文件,后缀为.pyc.bak.:这是命令行中的当前目录。这意味着compileall将会在当前目录及其所有子目录中......
  • dbvisualizer和dbeaver工具中执行prepare的语句的方法
    dbvisualizer:用?填充原本是具体值的位置,在弹出的对话框中填入实际的参数即可。SELECTgenderFROMmysql.joe.person_info_all2dbv01wherenumber<?;dbeaver中方法一:用任意字符或字符串填充原本是具体值的位置,在弹出的对话框中填入实际的参数即可。select*frommysql.j......
  • FFMPEG C++封装(一)(C++ FFMPEG)
    1概述FFMPEG是一个C语言开源视音频编解码库。本文将FFMPG4.1.3进行C++封装,形成C++FFMPG库。2架构架构图如下所示:架构说明:Init初始化FFMPEG库。IStream输入流,FFMPEG的输入音视频文件。Packet音视频数据包Decoder音视频编码器Frame音视频帧FilterGraph音视频......
  • 使用ffmpeg命令把单张或多张图片生成固定时长的视频
    1,官网下载FFmpeg.exe      参见:https://blog.csdn.net/m0_46278037/article/details/1137905402,FFmpegHelper代码如下1publicclassFFmpegHelper2{3publicvoidConvertVideo()4{56stringinputDi......
  • 监控工具-jvisualvm.exe-入门,监控tomcat7的jmx、jstatd
    1、添加JMX1.1、catalina-jmx-remote.jar 放在Tomcat的 lib 目录下catalina-jmx-remote.jar 的确切位置可能因Tomcat版本和发行版而异,但通常它应该被放置在Tomcat的 lib 目录下 1.2、catalina.sh设置JVM参数对于Linux/Unix,编辑 catalina.sh 文件......
  • iMessage群发之Java源代码功能实现
    iMessage群发软件作为一款内置的、深受用户喜爱的即时通讯工具,不仅为用户提供了高效、安全的通信方式,还允许用户通过群发功能一次性向多个联系人发送消息。Java作为一种广泛使用的编程语言,以其跨平台性、面向对象性、安全性等特点,在开发移动应用、服务器应用、Web应用等领域有着......
  • Java企业电子招投标系统源代码,支持二次开发,采用Spring cloud框架
    在数字化采购领域,企业需要一个高效、透明和规范的管理系统。通过采用SpringCloud、SpringBoot2、Mybatis等先进技术,我们打造了全过程数字化采购管理平台。该平台具备内外协同的能力,通过待办消息、招标公告、中标公告和信息发布等功能模块,实现了对供应商的集中管理和风险控制......