【问题标题】:unable to build OpenH264.lib for windows无法为 Windows 构建 OpenH264.lib
【发布时间】:2023-04-02 07:37:01
【问题描述】:

我按照https://github.com/cisco/openh264 中提到的所有说明进行操作,但无法通过。链接中引用了该信息,但相当混乱。

【问题讨论】:

    标签: windows build openh264


    【解决方案1】:

    替代方式:
    您可以在 Windows 中使用 Visual Studio 构建 Openh264。以下是步骤..

    • i) 下载cisco提供的OpenH264源代码(你已经 提到https://github.com/cisco/openh264)。
    • ii) 现在您将在 目录 /OpenH264/codec/build/win32/dec/OpenH264/codec/build/win32/enc
    • 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 和那些 可用于任何视觉工作室项目。

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

    【讨论】:

    • 几年后我想报告此解决方案适用于 VS 2019。
    • RajibTheKing 的回答非常有效。但是我收到一条警告信息,让我在决定冒险之前尝试了一些事情。我希望这可以帮助其他人并节省他们的时间。 - 当您尝试在VS2013 或更高版本中打开OpenH264 解决方案时,您将收到不可逆 升级的消息。只需继续。 - 按照 RajibTheKing 的回答 - 构建解决方案以获取您需要的 dll 文件
    • 对于openh264控制台编码器,需要先构建WelsEncCore、WelsEncPlus、WelsVP库然后encConsole,exe文件在bin\x64\Release\encConsole.exe生成
    【解决方案2】:

    使用推荐的 mingw 方法在 Windows 上构建 openh264 时我也遇到了一些困难。

    就我而言,make 在我尝试的所有配置中都崩溃了:

    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 中创建 .libs 和 .dlls

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-06
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 2022-12-18
      • 2021-09-24
      • 2020-07-02
      相关资源
      最近更新 更多