6

(Примечание: я просто использую ffmpeg в качестве примера, я часто удивляюсь тому же с другими программами)

У меня есть скрипт сборки для ffmpeg который компилируется для поддержки нескольких нестандартных функций. Теперь я хочу использовать этот кодер на нескольких других машинах. Можно ли просто скопировать исполняемый файл /usr/local/bin/ffmpeg , или мне лучше запустить скрипт сборки на других машинах?

  • Есть ли вероятность компиляции в зависимости от аппаратного обеспечения?
  • Возможно ли иметь какие-либо скрытые зависимости, которые мне также нужно скопировать, кроме самого исполняемого файла и всего, что я могу найти с помощью ldd?

1 ответ1

4

да и да :)

если вы хотите, чтобы ваш скомпилированный двоичный файл работал на нескольких машинах, вы должны скомпилировать его таким образом, чтобы он соответствовал архитектуре и настройке (в отношении библиотек) на этих машинах. это обычно означает:

  • связать все, что вы можете статически
  • поставьте libs ваши двоичные потребности
  • 32-битные вещи работают на 64-битных машинах, но не наоборот

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .