3

我正在尝试部署一个使用 ffmpeg 将相机输出流式传输到 XP 机器的应用程序。该应用程序是用 gcc mingw32 编写的,在 Windows 8 上运行良好。但在 Windows XP 上,我收到以下错误:

The procedure entry point strncpy_s could not be located in the 
dynamic link library msvcrt.dll

GCC 命令,不包括路径:

g++ -o mingw\streamer.exe src\testffmpeg.o -lavformat -lavutil -lavcodec -lFlyCapture2_C_v100

依赖遍历器显示以下内容: 依赖步行者

我该如何解决这个 strncpy_s 问题?似乎是使用这个功能的ffmpeg是msvcrt。我使用了他们提供的 Windows 二进制文件。我宁愿不必自己编译库,因为它有大量的依赖项。

4

2 回答 2

2

虽然不是通用解决方案,但我使用旧版本的 ffmpeg 解决了这个问题。以下版本是最新版本,不需要 msvcr.dll 中的 strncpy_s

  • ffmpeg-20130706-git-63d7684-win32-shared
  • ffmpeg-20130706-git-63d7684-win32-dev

本论坛主题中所述

于 2013-07-16T07:11:22.953 回答
0

使用 ffmpeg-20130706 将起作用,因为它不使用 strncpy_s 符号而不是包含在运行时库中的 strncpy。除非您从 ffmpeg 使用的符号已更改,否则您应该能够将两周前的 dll 替换为 dll,否则,只需使用较旧的依赖项重新编译即可。

于 2013-07-26T16:27:12.257 回答