Pergunta

I downloaded the X264 source and installed mingw.

Step 1:

Executed this in the MINGW bash:

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

and then 'make'

Step 2:

Renamed the libx264-142.dll to libx264.dll and Opened up VS2012 Command Prompt and executed this:

LIB /DEF:libx264.def

which gave me libx264.lib and object libx264.exp

Step 3:

Included the lib file in a VS2012 project which uses the X264 API.

Problem:

When I start the project I get the following error message:

"The program can't start because libx264.dll is missing from your computer"

Question:

Why is it looking for the dll when I'm linking the static library in?

How do I resolve this? I would like to build a static X264 library which I can link in with my project.

EDIT:

I just had to put the dll in the same directory as the project executable.

However - My question still stands: How do I build a static x264 library? So I don't need the dll?

Foi útil?

Solução

After the latest update of x264 you can build static library usable by MSVS project. For such library compilation you will need:

  1. MSYS and MSVS 2013 Update 2 (express version [for Windows Desktop] would also work if you install Update 2)
  2. run "VS2013 x86 Native Tools Command Prompt" or "VS2013 x64 Native Tools Command Prompt" depending what version (32 or 64-bit) you want to build
  3. change dir to x264 path and run MSYS shell (sh)
  4. from shell run "CC=cl ./configure --disable-cli --enable-static" for x264 configuring
  5. run "make" which should build libx264.lib usable from MSVS

P.S. MSVS builds would be a little bit slower than one build by MinGW

Outras dicas

Matthew Oliver has a GIT repository of a patched x264 source tree (https://github.com/ShiftMediaProject/x264) that compiles natively in VS2013 update 2 and later. It requires installing a YASM version for VS.

It worked pretty much straight out of the box for me, though I did have to change the VSYASM parameter "-f Win32" to "-f win32" for a 32bit build

Take a look here: http://siliconandlithium.blogspot.no/2014/03/building-x264-on-windows-with-visual.html

Static lib is not possible in windows as per my knowledge.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top