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 Command Prompt и выполнил это:

LIB /DEF :libx264.def

который дал мне libx264.lib и объект libx264.exp

Шаг 3:

Включил lib-файл в проект VS2012, который использует X264 API.

Проблема:

Когда я запускаю проект, я получаю следующее сообщение об ошибке:

«Программа не может запускаться, поскольку libx264.dll отсутствует на вашем компьютере»

Вопрос:

Почему он ищет DLL, когда я связываю статическую библиотеку?

Как это разрешить? Я хотел бы создать статичную библиотеку X264, с которой я могу связать свой проект.

РЕДАКТИРОВАТЬ:

Мне просто пришлось поместить dll в тот же каталог, что и исполняемый файл проекта.

Однако – Мой вопрос по-прежнему стоит: Как создать статическую библиотеку x264? Значит, мне не нужна DLL?

После последнего обновления x264 вы можете создавать статическую библиотеку, пригодную для использования в проекте MSVS. Для такой компиляции библиотеки вам понадобятся:

  1. MSYS и MSVS 2013 Update 2 (express-версия [для Windows Desktop] также будет работать, если вы установите Update 2)
  2. запустите «VS2013 x86« Встроенная команда командной строки »или« VS2013 x64 », в зависимости от того, какую версию (32 или 64-разрядную) вы хотите создать
  3. измените dir на путь x264 и запустите оболочку MSYS (sh)
  4. из командной строки «CC = cl ./configure –disable-cli –enable-static» для конфигурации x264
  5. запустить «make», который должен построить libx264.lib, который можно использовать из MSVS

PS MSVS-сборки будут немного медленнее, чем одна assembly MinGW

У Мэтью Оливера есть repository GIT исправленного дерева исходных текстов x264 ( https://github.com/ShiftMediaProject/x264 ), который компилируется изначально в версии 2 и более поздних версий VS2013. Для этого требуется установка версии YASM для VS.

Для меня это работало довольно часто, хотя мне пришлось изменить параметр VSYASM «-f Win32» на «-f win32» для 32-битной сборки

Взгляните сюда: http://siliconandlithium.blogspot.no/2014/03/building-x264-on-windows-with-visual.html

Статические библиотеки невозможны в Windows по моим знаниям.