Я хочу добавить свою собственную библиотеку для использования в c компиляции, но не знаю, где ubuntu хранит ее.
В зависимости от библиотеки ubuntu хранит свои библиотеки в основном в трех местах
Ниже приведена иерархия файловой системы Standard
/ lib
В каталоге / lib содержатся файлы разделяемой библиотеки, необходимые для загрузки системы и запустить команды в корневой файловой системе, т.е. двоичные файлы в / bin и /sbin.
blockquote>/ usr / lib
/ usr / lib включает в себя объектные файлы, библиотеки и внутренние двоичные файлы, которые не являются предназначенные для выполнения непосредственно пользователями или сценариями оболочки. [22]
Приложения могут использовать один подкаталог в / usr / lib. Если приложение использует подкаталог, все зависимые от архитектуры данные, исключительно используемые приложением, должны быть помещены в этот подкаталог.
blockquote>/ usr / local / lib содержит локальные библиотеки, то есть один конкретный для этой системы но я не могу найти ссылки на / usr / local / lib в FHS, он содержит только объяснение для /usr/local.
Вы должны сообщить компилятору, где он может найти вашу библиотеку. Предположим, путь к вашей библиотеке: «/path/to/lib/libfoo.a», вы можете скомпилировать и связать свою программу «hello.c» следующим образом:
gcc -L / path / to / lib -lfoo hello.c
Это не относится к Ubuntu, на самом деле все C-компиляторы, которые я знаю, поддерживают эти флаги.
Ubuntu следует стандарту иерархии файловой системы ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), обычные библиотеки приложений должны храниться в / usr / lib.
Обратите внимание, что разработка / управление библиотеками не является тривиальной темой, вы должны прочитать более подробную документацию, вот хороший учебник: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
Вы должны сообщить компилятору, где он может найти вашу библиотеку. Предположим, путь к вашей библиотеке: «/path/to/lib/libfoo.a», вы можете скомпилировать и связать свою программу «hello.c» следующим образом:
gcc -L / path / to / lib -lfoo hello.c
Это не относится к Ubuntu, на самом деле все C-компиляторы, которые я знаю, поддерживают эти флаги.
Ubuntu следует стандарту иерархии файловой системы ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), обычные библиотеки приложений должны храниться в / usr / lib.
Обратите внимание, что разработка / управление библиотеками не является тривиальной темой, вы должны прочитать более подробную документацию, вот хороший учебник: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
В зависимости от библиотеки ubuntu хранит свои библиотеки в основном в трех местах
Ниже приведена иерархия файловой системы Standard
/ lib
В каталоге / lib содержатся файлы разделяемой библиотеки, необходимые для загрузки системы и запустить команды в корневой файловой системе, т.е. двоичные файлы в / bin и /sbin.
blockquote>/ usr / lib
/ usr / lib включает в себя объектные файлы, библиотеки и внутренние двоичные файлы, которые не являются предназначенные для выполнения непосредственно пользователями или сценариями оболочки. [22]
Приложения могут использовать один подкаталог в / usr / lib. Если приложение использует подкаталог, все зависимые от архитектуры данные, исключительно используемые приложением, должны быть помещены в этот подкаталог.
blockquote>/ usr / local / lib содержит локальные библиотеки, то есть один конкретный для этой системы но я не могу найти ссылки на / usr / local / lib в FHS, он содержит только объяснение для /usr/local.
Ubuntu следует стандарту иерархии файловой системы ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), обычные библиотеки приложений должны храниться в / usr / lib.
Обратите внимание, что разработка / управление библиотеками не является тривиальной темой, вы должны прочитать более подробную документацию, вот хороший учебник: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
В зависимости от библиотеки ubuntu хранит свои библиотеки в основном в трех местах
Ниже приведена иерархия файловой системы Standard
/ lib
В каталоге / lib содержатся файлы разделяемой библиотеки, необходимые для загрузки системы и запустить команды в корневой файловой системе, т.е. двоичные файлы в / bin и /sbin.
blockquote>/ usr / lib
/ usr / lib включает в себя объектные файлы, библиотеки и внутренние двоичные файлы, которые не являются предназначенные для выполнения непосредственно пользователями или сценариями оболочки. [22]
Приложения могут использовать один подкаталог в / usr / lib. Если приложение использует подкаталог, все зависимые от архитектуры данные, исключительно используемые приложением, должны быть помещены в этот подкаталог.
blockquote>/ usr / local / lib содержит локальные библиотеки, то есть один конкретный для этой системы но я не могу найти ссылки на / usr / local / lib в FHS, он содержит только объяснение для /usr/local.
Вы должны сообщить компилятору, где он может найти вашу библиотеку. Предположим, путь к вашей библиотеке: «/path/to/lib/libfoo.a», вы можете скомпилировать и связать свою программу «hello.c» следующим образом:
gcc -L / path / to / lib -lfoo hello.c
Это не относится к Ubuntu, на самом деле все C-компиляторы, которые я знаю, поддерживают эти флаги.
Вы должны сообщить компилятору, где он может найти вашу библиотеку. Предположим, путь к вашей библиотеке: «/path/to/lib/libfoo.a», вы можете скомпилировать и связать свою программу «hello.c» следующим образом:
gcc -L / path / to / lib -lfoo hello.c
Это не относится к Ubuntu, на самом деле все C-компиляторы, которые я знаю, поддерживают эти флаги.
Ubuntu следует стандарту иерархии файловой системы ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), обычные библиотеки приложений должны храниться в / usr / lib.
Обратите внимание, что разработка / управление библиотеками не является тривиальной темой, вы должны прочитать более подробную документацию, вот хороший учебник: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
В зависимости от библиотеки ubuntu хранит свои библиотеки в основном в трех местах
Ниже приведена иерархия файловой системы Standard
/ lib
В каталоге / lib содержатся файлы разделяемой библиотеки, необходимые для загрузки системы и запустить команды в корневой файловой системе, т.е. двоичные файлы в / bin и /sbin.
blockquote>/ usr / lib
/ usr / lib включает в себя объектные файлы, библиотеки и внутренние двоичные файлы, которые не являются предназначенные для выполнения непосредственно пользователями или сценариями оболочки. [22]
Приложения могут использовать один подкаталог в / usr / lib. Если приложение использует подкаталог, все зависимые от архитектуры данные, исключительно используемые приложением, должны быть помещены в этот подкаталог.
blockquote>/ usr / local / lib содержит локальные библиотеки, то есть один конкретный для этой системы но я не могу найти ссылки на / usr / local / lib в FHS, он содержит только объяснение для /usr/local.
Вы должны сообщить компилятору, где он может найти вашу библиотеку. Предположим, путь к вашей библиотеке: «/path/to/lib/libfoo.a», вы можете скомпилировать и связать свою программу «hello.c» следующим образом:
gcc -L / path / to / lib -lfoo hello.c
Это не относится к Ubuntu, на самом деле все C-компиляторы, которые я знаю, поддерживают эти флаги.
Ubuntu следует стандарту иерархии файловой системы ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), обычные библиотеки приложений должны храниться в / usr / lib.
Обратите внимание, что разработка / управление библиотеками не является тривиальной темой, вы должны прочитать более подробную документацию, вот хороший учебник: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
/ usr / include
. Фактические двоичные файлы для библиотеки там не хранятся. Заголовки могут считаться частью библиотеки, но их нужно устанавливать отдельно, и они используются для компиляции i> программ, которые используют библиотеку. После того, как программа, использующая библиотеку, была скомпилирована, она больше не нуждается или использует файлы заголовков.
– Eliah Kagan
30 August 2013 в 23:05
В зависимости от библиотеки ubuntu хранит свои библиотеки в основном в трех местах
Ниже приведена иерархия файловой системы Standard
/ lib
В каталоге / lib содержатся файлы разделяемой библиотеки, необходимые для загрузки системы и запустить команды в корневой файловой системе, т.е. двоичные файлы в / bin и /sbin.
blockquote>/ usr / lib
/ usr / lib включает в себя объектные файлы, библиотеки и внутренние двоичные файлы, которые не являются предназначенные для выполнения непосредственно пользователями или сценариями оболочки. [22]
Приложения могут использовать один подкаталог в / usr / lib. Если приложение использует подкаталог, все зависимые от архитектуры данные, исключительно используемые приложением, должны быть помещены в этот подкаталог.
blockquote>/ usr / local / lib содержит локальные библиотеки, то есть один конкретный для этой системы но я не могу найти ссылки на / usr / local / lib в FHS, он содержит только объяснение для /usr/local.