Вопрос

Я пытаюсь установить «quadrupel», библиотеку, основанную на ffmpeg в Solaris x86.

Мне удалось собрать ffmpeg, и его библиотеки находятся в /opt/gnu/lib, а включения находятся в /opt/gnu/include, но когда я пытаюсь собрать Quadrupel, он не может найти заголовки ffmpeg.

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

Это было полезно?

Решение

Вы можете переопределить путь, установив переменную среды LD_LIBRARY_PATH.Однако я бы предложил также изменить системные пути, чтобы вам не приходилось менять путь к библиотеке для всех пользователей.Это можно сделать с помощью crel.

crle -l -c /var/ld/ld.config -l /usr/lib:/usr/local/lib:/opt/gnu/lib

Для включения просто добавьте -I/opt/gnu/include в переменную CFLAGS.

Другие советы

Я считаю, что вам нужно добавить в Makefile следующее:

CFLAGS  += -I/opt/gnu/include
LDFLAGS += -L/opt/gnu/lib -R/opt/gnu/lib

Аргумент -I сообщает gcc, где найти включаемые файлы.Флаг -L сообщает ld, где найти библиотеки во время компоновки.Флаг -R записывает /opt/gnu/lib в путь поиска библиотек в двоичном файле Quadrupel, чтобы он мог найти свои библиотеки при запуске.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top