无法为Windows生成OpenH264.lib

我遵循https://github.com/cisco/openh264中提到的所有指令,但我无法通过。 信息被链接引用,但相当混乱。

替代方法:
您可以在Windows中使用visual studio构建Openh264。 这是步骤

  • i)下载由cisco提供的OpenH264源代码(已经提到https://github.com/cisco/openh264 )。
  • ii)现在您将在目录/ OpenH264 / codec / build / win32 / dec/ OpenH264 / codec / build / win32 / enc中找到两个兼容Visual Studio的项目。
  • iii)您需要从http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/下载NASM软件
  • iv)在目录C:\ NASM或任何你喜欢的地方安装NASM软件。
  • v)然后添加NASM可执行文件路径到所有这些visual studio项目。 在这里输入图像说明
  • vi)然后你可以选择静态或动态库的一般选项。 在这里输入图像说明
  • vi)如果你能够成功执行所有这些操作,你将会得到5个不同的.lib或者.dll文件,分别命名为welsdcore,welsdecplus,welsecore,welsencplus,welsvp ,这些文件可以在任何visual studio项目中使用。

现在,如果你想获得openh264功能,只需将所有这些库添加到您的项目,并享受。 希望它会帮助你.. 🙂

使用推荐的mingw方式在Windows上构建openh264也有一些困难。

在我的情况下崩溃的所有配置我试过了:

 bash -c "make OS=msvc ARCH=x86_64 USE_ASM=No BUILDTYPE=Debug clean" bash -c "make OS=msvc ARCH=x86_64 USE_ASM=No BUILDTYPE=Debug" 0 [main] make 3888 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION 564 [main] make 3888 open_stackdumpfile: Dumping stack trace to make.exe.stackdump 0 [main] make 5448 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION 561 [main] make 5448 open_stackdumpfile: Dumping stack trace to make.exe.stackdump copying dll files to destination folder... FullDestDir is E:\projects\openh264\bin\x64\Debug current dir is: E:\projects\openh264 DestDir is bin/x64/Debug cp: cannot stat `openh264.dll': No such file or directory cp: cannot stat `openh264.lib': No such file or directory cp: cannot stat `openh264.pdb': No such file or directory cp: cannot stat `codec_unittest.exe': No such file or directory cp: cannot stat `h264enc.exe': No such file or directory cp: cannot stat `h264dec.exe': No such file or directory BuildDebugFlag =1 BuildReleaseFlag =0 BuildDebugInfo ="build debug--failed" BuildReleaseInfo =NULL aBuildFlagList is 1 0 ReturnCode is 1 

我采取了将现有的解决方案/项目(VS2008)转换为VS2013和链接/建立与创建的.lib文件。

您可以在{openh264_dir}\codec\build\win32\enc{openh264_dir}\codec\build\win32\dec找到解决方案。 构建解决方案将在{openh264_dir}\bin\Win32\Release创建{openh264_dir}\bin\Win32\Release{openh264_dir}\bin\Win32\Release

要链接到lib,您需要链接到welsenc.lib

运行时,需要在应用程序目录中同时包含welsenc.dllwelsvp.dll 。 到目前为止,它似乎对我的使用很好。 我假设建立解码器将是类似的。