Как gcc в Solaris находит свои библиотеки? - PullRequest
0 голосов
/ 07 сентября 2008

Я пытаюсь установить 'quadrupel', библиотеку, которая использует ffmpeg в Solaris x86.

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

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

Ответы [ 2 ]

4 голосов
/ 07 сентября 2008

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

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

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

1 голос
/ 07 сентября 2008

Вы можете переопределить путь, установив переменную среды 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.

...