Невозможно собрать OpenH264.lib для Windows

Я следовал всем инструкциям, упомянутым в https://github.com/cisco/openh264 но мне не удалось пройти. Информация цитируется по ссылке, но она довольно запутанная.

2 ответа

Альтернативный путь:
Вы можете собрать Openh264, используя Visual Studio в Windows. Вот шаги..

  • i) Загрузите исходный код OpenH264, предоставленный cisco (о котором вы уже упомянули https://github.com/cisco/openh264).
  • ii) Теперь вы найдете два совместимых с Visual Studio проекта в каталогах /OpenH264/codec/build/win32/dec и / OpenH264 / codec / build / win32 / enc.
  • iii) Вам необходимо загрузить программное обеспечение NASM с http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/
  • iv) Установите программное обеспечение NASM в каталог C:\NASM или где угодно.
  • v) Затем добавьте путь к исполняемому файлу NASM ко всем этим проектам Visual Studio.
  • vi) Затем вы можете выбрать статическую или динамическую библиотеку в общих параметрах.
  • vi) Если вам удастся успешно выполнить все эти операции, у вас будет 5 разных файлов .lib или.dll с именами welsdcore, welsdecplus, welsecore, welsencplus, welsvp, которые можно использовать в любых проектах Visual Studio.

Теперь, если вы хотите получить функции openh264, просто добавьте все эти библиотеки в свой проект и наслаждайтесь. Надеюсь, это поможет вам..:)

У меня также были некоторые трудности при сборке openh264 под Windows, используя рекомендованный подход mingw.

В моем случае make потерпел крах для всех конфигураций, которые я попробовал:

bash -c "make OS=msvc  ARCH=x86_64 USE_ASM=No BUILDTYPE=Debug clean"
bash -c "make OS=msvc  ARCH=x86_64 USE_ASM=No BUILDTYPE=Debug"
  0 [main] make 3888 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
564 [main] make 3888 open_stackdumpfile: Dumping stack trace to make.exe.stackdump
  0 [main] make 5448 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
561 [main] make 5448 open_stackdumpfile: Dumping stack trace to make.exe.stackdump
copying dll files to destination folder...
FullDestDir is E:\projects\openh264\bin\x64\Debug
current dir is:
E:\projects\openh264
DestDir is bin/x64/Debug
cp: cannot stat `openh264.dll': No such file or directory
cp: cannot stat `openh264.lib': No such file or directory
cp: cannot stat `openh264.pdb': No such file or directory
cp: cannot stat `codec_unittest.exe': No such file or directory
cp: cannot stat `h264enc.exe': No such file or directory
cp: cannot stat `h264dec.exe': No such file or directory
 BuildDebugFlag   =1
 BuildReleaseFlag =0
 BuildDebugInfo   ="build debug--failed"
 BuildReleaseInfo =NULL
 aBuildFlagList is 1  0
 ReturnCode is 1

Я прибег к преобразованию существующих решений / проектов (VS2008) в VS2013 и связыванию / сборке с созданными.lib-файлами.

Вы можете найти решения в {openh264_dir}\codec\build\win32\enc а также {openh264_dir}\codec\build\win32\dec, Построение решения создаст.libs и.dlls в {openh264_dir}\bin\Win32\Release

Для ссылки на библиотеку, вам нужно сделать ссылку на welsenc.lib,

При запуске вам нужно иметь оба welsenc.dll а также welsvp.dll в каталоге вашего приложения. До сих пор, кажется, работал нормально для моего использования. Я предполагаю, что построение декодера будет похоже.

Другие вопросы по тегам