Как сделать новые заголовочные файлы общедоступными?

Как сделать новые заголовочные файлы общедоступными?

Я только что загрузил несколько новых заголовочных файлов и у меня есть папка с ними, которую я хочу сделать доступной. Во-первых, я хотел бы сделать их доступными для любого файла, который захочет их использовать. Поэтому я хотел бы иметь возможность включать новый заголовочный файл (назовем его newheader.h) куда захочу, как math.h, например. Где мне его разместить?

Во-вторых, я хочу сделать эти файлы доступными для всех пользователей. У меня есть права root. Есть ли специальный каталог, в который мне нужно его поместить? Большое спасибо!

решение1

Сохраните их в /usr/local/include. Отhttp://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html, элементы в этом каталоге «... защищены от перезаписи при обновлении системного программного обеспечения», что важно, поскольку вы не хотите, чтобы загруженные вами заголовочные файлы были затерты обновлениями системы, что может произойти, если вы поместите их в /usr/include.

решение2

В МОЕЙ системе /usr/local/include/каталог существует и пуст. Стандарт иерархии Filsystem гласит (ФХС 3.0) каталог для использования — /usr/local/include. Файлы должны быть доступны для чтения всем ( 0444), а каталоги должны быть доступны для поиска ( 0555).

решение3

Вопрос в том, чего вы хотите добиться?

Обычно есть три сценария:

  • разработка
  • локальная установка (в вашем $HOME)
  • глобальная установка

Для первых 2, вам, вероятно, следует использовать переключатель -I, чтобы задать путь к заголовкам. Первый, скорее всего, будет -I../mylib/include, второй может быть -I/home/user/local_libs/somelib/include.

Третий — это глобальная установка, которая должна поместить их в /usr/local/include, но управляться инструментом вроде automake или cmake. При упаковке сопровождающий должен адаптировать installpath и/или include path для установки заголовков в /usr/include.

При использовании automake у вас могут быть уведомления, отличные от--prefix параметрпо умолчанию /usr/localдля безопасной установки, которая не мешает системным пакетам, в то время как ie сопровождающие Debian запускают ./configure --prefix=/usrсвои скрипты пакетов. Путь включения формируется из этого префикса, поэтому он следует за установкой пакета.

Связанный контент