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

我下载了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放在与项目可执行文件相同的目录中。

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

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

  1. 如果安装Update 2,MSYS和MSVS 2013 Update 2(适用于Windows桌面的快速版本)也可以使用
  2. 运行“VS2013 x86本机工具命令提示符”或“VS2013 x64本机工具命令提示符”,具体取决于您要构建的版本(32或64位)
  3. 将dir更改为x264路径并运行MSYS shell(sh)
  4. 从shell运行“CC = cl ./configure –disable-cli –enable-static”进行x264配置
  5. 运行“make”,它应该构建可从MSVS使用的libx264.lib

PS MSVS构建将比MinGW的构建稍微慢一点

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

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