Где находится бинарный файл после его сборки (для ffmpeg)? - PullRequest
2 голосов
/ 19 сентября 2010

Мне нужно собрать ffmpeg для Mac для преобразования MOV в FLV в приложении Java. Я сделал и установил LAME, а затем FFMPEG, но я не уверен, какой файл мне нужно взять, чтобы включить в приложение Java. Что такое бинарный файл? Предыдущая версия, которую я взял из источника ffmpegX, имела размер 10 МБ, но файл, который находится в моем / usr / local / bin, составляет всего 0,1 МБ. Это правильный файл или что мне нужно включить?

Я не слишком разбираюсь в том, что нужно вводить в Терминал, так что извините за отсутствие технического жаргона!

Ответы [ 2 ]

3 голосов
/ 23 сентября 2010

Краткий ответ: этот файл в / usr / local / bin является либо реальным двоичным файлом, либо мягкой ссылкой на настоящий двоичный файл.Если вы запустите ls -l /usr/local/bin, то любые ссылки будут отображаться со стрелкой в ​​их целевом местоположении.Но pszilard, вероятно, прав, этот файл может быть реальным двоичным файлом, который был динамически связан с библиотечным кодом.

Длинный ответ: Если вы скомпилировали из исходного кода, то выполнили следующие три команды

./configure
make
make install

Первый создает файл конфигурации с именем config.mak.В верхней части этого файла вы увидите строки, подобные следующим:

prefix=/usr/local
LIBDIR=$(DESTDIR)${prefix}/lib
SHLIBDIR=$(DESTDIR)${prefix}/lib
INCDIR=$(DESTDIR)${prefix}/include
BINDIR=$(DESTDIR)${prefix}/bin

DESTDIR не обязателен;это не имеет значения, если вы не запускаете make install с дополнительным аргументомBINDIR - это фактическое место установки.На моей системе (снежный барс) это было /usr/local/bin/.

Если у вас все еще проблемы, просто не устанавливайте сборку.Если вы запустите

make clean
make

Бинарный файл будет в вашей папке сборки.

Не используйте MacPorts или Fink.В конечном итоге вы будете счастливее, если будете сами компилировать из исходного кода.Если вы настаиваете на использовании менеджера пакетов, попробуйте Homebrew http://mxcl.github.com/homebrew/.

1 голос
/ 23 сентября 2010

Я далеко не эксперт по Mac, но у меня есть несколько советов.Если вы создаете библиотеку с динамической связью, а другая была статически связана, это может объяснить разницу в размере.

Что касается местоположения, что вы использовали?MacPorts, Fink или источник?Если вы построили из исходного кода, это зависит от того, что вы использовали :) MacPorts и Fink имеют свое конкретное местоположение для двоичных файлов (я не помню больше, но в документации должна быть информация, в противном случае ее имеет большой G;)

...