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:

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

Проблема:

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

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

Вопрос:

Почему он ищет dll, когда я подключаю статическую библиотеку?

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

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

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

Однако мой вопрос остается в силе: как создать статическую библиотеку x264? То есть мне не нужна dll?


person user1884325    schedule 16.04.2014    source источник
comment
ваша --enable-shared включает общую библиотеку, а для статической вам нужна --enable-static   -  person Roman R.    schedule 06.06.2014


Ответы (3)


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

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

P.S. Сборки MSVS будут немного медленнее, чем сборки MinGW.

person nobody555    schedule 01.08.2014


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

person sarbjitsingh    schedule 06.06.2014