我如何创建一个利用开源C项目的C ++控制台应用程序

博格丹·丹尼尔

我一直在玩https://github.com/FFmpeg/FFmpeg的编译版本但是,在使用来关闭打开的流期间,它存在一些问题(关闭avio_close它需要很长时间)。

我一直在尝试通过阅读实现来理解可能出了什么问题,但找不到任何东西。

我想做的是实际拥有一个使用c文件的C ++控制台应用程序,并在运行代码时调试它们(使用断点等)。

不幸的是,我找不到有关如何进行设置的任何信息。仅在新的控制台应用程序中复制文件是不够的。

在此先感谢您的任何建议。

编辑:我已经可以看到结束投票。如果此问题不适用于该网站,我将其删除。但是请指出正确的发布方向,尽管这是一个普遍的问题,但我认为它很清楚并且已经提供了足够的信息。

Edit2:是的,我不清楚自己在使用什么。

我正在Windows 10上使用Visual Studio Community 2017创建C ++控制台应用程序。

编辑3:

我在使用DLL的控制台应用程序中使用源文件所采取的步骤。

  1. 将FFmpeg-master的所有内容复制到我的控制台应用程序
  2. 将它们全部包含在c ++控制台应用程序项目中
  3. 运行构建-花费很长时间并且有无限的构建错误(> 1000)-可能与编译器相关

编辑4:

我没有的实际错误avio_close,关闭流只需要太长时间。我在进行设置时发现,设置fifo_size参数后,根据设置值的小,关闭流的速度要快得多。由于fifo_size与数据包的大小有关,因此这是有道理的,但是我还没有发现此大小会在代码中产生影响。

fifo_size = units设置UDP接收循环缓冲区的大小,以188个字节的数据包数表示。如果未指定,则默认为7 * 4096。

Edit5:我仍然没有找到将开源ffmpeg项目编译成libs,dll和pdbs的方法。我是第一个需要此类文件的人(似乎不现实)吗?到目前为止,能够提供这些信息的唯一工具是vcpkg唯一的问题是它可以编译3.3.3版本,而最新版本是4.0.2。

我试图修改该vcpkg\ports\ffmpeg\portfile.cmake文件以包含ffmpeg的最新版本,但它没有构建它。

还有其他建议吗?

博格丹·丹尼尔

我最终使用vcpkg

作为构建此特定程序包的指南(不知道它是否适用于其他开源项目)包:

1)下载vcpkg并按照README文件中的说明进行安装

2)前往

.. \ vcpkg \ ports \ ffmpeg \

并编辑portfile.cmake文件。

默认情况下,vcpkg将构建ffmpeg的3.3.3版本,并使用

vcpkg_download_distfile(ARCHIVE
URLS "http://ffmpeg.org/releases/ffmpeg-3.3.3.tar.bz2"
FILENAME "ffmpeg-3.3.3.tar.bz2"
SHA512 1cc63bf73356f4e618c0d3572a216bdf5689f10deff56b4262f6d740b0bee5a4b3eac234f45fca3d4d2da77903a507b4fba725b76d2d2070f31b6dae9e7a2dab
)

更改为

vcpkg_download_distfile(ARCHIVE
    URLS "http://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2"
    FILENAME "ffmpeg-4.0.2.tar.bz2"
    SHA512 92a3bedcd070df72b26dbe3ebf4a3faea0a02289fbefdb6a6c73d65801cf60a7e11cd832d29ab46b7749a1ffd0a31505cf75bb46bd01ea06423b454ca04e9b7b
)

这将下载最新的ffmpeg版本。为了使构建正常工作,您还必须注释以下行:

if("ffserver" IN_LIST FEATURES)
    set(OPTIONS "${OPTIONS} --enable-ffserver")
else()
    set(OPTIONS "${OPTIONS} --disable-ffserver")
endif()

我认为自版本3.3.3起,此选项已被删除/禁用,并且不再起作用。

3)运行(需要一段时间)

。\ vcpkg安装ffmpeg

您现在应该有了FFMPEG的4.0.2调试和发行版本,其中包含DLL,PDB,lib和包含文件夹。

不能完全确定此过程是否正确,但是我的项目运行正常,现在可以对其进行调试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章