【问题标题】:Windows: How to build X264.lib instead of .dllWindows:如何构建 X264.lib 而不是 .dll
【发布时间】:2023-03-10 07:17:01
【问题描述】:

我下载了 X264 源码并安装了 mingw。

第 1 步:

在 MINGW bash 中执行此操作:

./configure --disable-cli --enable-shared --enable-win32thread - -extra-ldflags=-Wl,--output-def=libx264.def

然后“制作”

第 2 步:

将 libx264-142.dll 重命名为 libx264.dll 并打开 VS2012 命令提示符并执行:

LIB /DEF:libx264.def

这给了我 libx264.lib 和对象 libx264.exp

第 3 步:

在使用 X264 API 的 VS2012 项目中包含 lib 文件。

问题:

当我启动项目时,我收到以下错误消息:

“程序无法启动,因为您的计算机中缺少 libx264.dll”

问题:

为什么在我链接静态库时它在寻找 dll?

我该如何解决这个问题?我想构建一个静态 X264 库,我可以将它与我的项目链接。

编辑:

我只需要将 dll 放在与项目可执行文件相同的目录中。

但是 - 我的问题仍然存在:如何构建 static x264 库?所以我不需要dll?

【问题讨论】:

  • 您的--enable-shared 正在启用共享库,而对于静态您需要--enable-static

标签: c video encoding h.264 x264


【解决方案1】:

在 x264 的最新更新后,您可以构建 MSVS 项目可用的静态库。对于此类库编译,您将需要:

  1. MSYS 和 MSVS 2013 Update 2(如果您安装 Update 2,Express 版本 [for Windows Desktop] 也可以使用)
  2. 根据您要构建的版本(32 位或 64 位)运行“VS2013 x86 Native Tools Command Prompt”或“VS2013 x64 Native Tools Command Prompt”
  3. 将 dir 更改为 x264 路径并运行 MSYS shell (sh)
  4. 从 shell 运行“CC=cl ./configure --disable-cli --enable-static”以进行 x264 配置
  5. 运行“make”,它应该构建可从 MSVS 使用的 libx264.lib

附: MSVS 构建会比 MinGW 构建慢一点

【讨论】:

    【解决方案2】:

    Matthew Oliver 有一个修补过的 x264 源代码树 (https://github.com/ShiftMediaProject/x264) 的 GIT 存储库,它在 VS2013 更新 2 及更高版本中本机编译。它需要为 VS 安装一个 YASM 版本。

    它对我来说几乎是开箱即用的,尽管我必须将 VSYASM 参数“-f Win32”更改为“-f win32”以进行 32 位构建

    看这里:http://siliconandlithium.blogspot.no/2014/03/building-x264-on-windows-with-visual.html

    【讨论】:

      【解决方案3】:

      据我所知,静态库在 Windows 中是不可能的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2021-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多