Windows:如何构建X264.lib而不是.dll

时间:2014-04-16 04:28:46

标签: c video encoding h.264 x264

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

第1步:

在MINGW bash中执行此操作:

./ configure --disable-cli --enable-shared --enable-win32thread - -extra-LDFLAGS = -Wl, - 输出画质= libx264.def

然后' make'

第2步:

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

LIB /DEF:libx264.def

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

第3步:

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

问题:

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

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

问题:

为什么在我链接静态库时会找到dll?

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

编辑:

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

然而 - 我的问题仍然存在:如何构建静态 x264库?所以我不需要这个dll?

3 个答案:

答案 0 :(得分:8)

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

  1. MSYS和MSVS 2013 Update 2(快速版本[适用于Windows桌面]也适用于安装Update 2)
  2. run" VS2013 x86 Native Tools命令提示符"或" VS2013 x64原生工具命令提示符"取决于您要构建的版本(32位或64位)
  3. 将dir更改为x264路径并运行MSYS shell(sh)
  4. 来自shell run" CC = cl ./configure --disable-cli --enable-static"用于x264配置
  5. run" make"应该构建可从MSVS
  6. 使用的libx264.lib

    P.S。 MSVS构建比MinGW构建的构建要慢一点

答案 1 :(得分:1)

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

答案 2 :(得分:-3)

根据我的知识,在Windows中无法使用静态库。