Куда поместить мои собственные библиотеки?

У меня есть свои собственные заголовочные файлы и библиотеки, которые я не хочу копировать для каждого нового проекта, так как это делает исправляющие ошибки или добавляющий новые опции к библиотеке трудный. Таким образом, я хочу поместить их в 'общедоступный' каталог как /usr/include или /usr/local/include и их дубликаты библиотеки, но я не знаю, где я смешиваю с системой! Я мог создать свой собственный каталог и указать его с каждой компиляцией, но это является громоздким. Куда я могу поместить те файлы? Я нашел вопрос об этом, где ответ /usr/local/include, но я считал где-нибудь, что это используется для диспетчера пакетов, который верен?

1
задан 13 April 2017 в 15:25

2 ответа

Я создал соглашение создания нового локального каталога в/usr/local., таким образом, это-/usr/local/local/lib для меня. Это позволяет другим разработчикам выпускать свой материал в/usr/local, и Вы тогда не получаете столкновений имени файла. Если Вы тогда хотите опубликовать, и перемещать Ваш материал в/usr/local/lib и/usr/local/include Вы, возможно, должны сделать смену имени через все свои исходные файлы и make-файлы, которые будут болью, но sed поможет, если Вы будете заботиться и будете соблюдать осторожность. Когда у Вас есть библиотеки в/usr/local/lib или любом, где это нестандартно, необходимо установить переменную среды LD_LIBRARY_PATH, так выполняющие программы знают, где надеяться связывать себя.

0
ответ дан 7 December 2019 в 16:34

Если приложения должны быть использованы всем пользователем в системе, /usr/local, дерево является идеальным местом; никакой пакет не должен помещать файлы там (это для программного обеспечения, которое Вы компилируете сами), но каталог /usr/local/lib находится в пути по умолчанию для dinamyc загрузчика. (см. /etc/ld.so.conf.d/libc.conf).

я обычно даже перемещаюсь /usr/local дерево под /home (только путем перемещения каталога /usr/local в /home/local, и затем symlinking /usr/local -> /home/local) так, чтобы это выжило, полное переустанавливают (1).

, Если приложения только для Вашего пользователя, я обычно создаю $HOME/lib, $HOME/include и затем играю с переменными среды или флагами компилятора для указания им.

<час> Сноски

(1) я обычно устанавливаю / и /home на отдельных разделах, но это - очень личный выбор.

1
ответ дан 7 December 2019 в 16:34

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

Похожие вопросы: