2016-01-07 2 views
-3

Итак, у меня есть моя общая библиотека libMySharedLibrary.so. И у него есть куча файлов заголовков в их собственных папках и т. Д. Каков наилучший/стандартный способ группировки этих файлов заголовков и распространения их на клиентов моей общей библиотеки?Каков наилучший способ распространения файлов заголовков моей общей библиотеки C++?

+0

Даже если вы получили ответы на этот вопрос, как вы думаете, чтобы разобраться в лучшем из всех этих мнений? –

+0

Нет ли стандартного способа сделать это? Вы просто застегиваете молнию или смолу или что-то еще и даете человеку? –

+0

Нет, на самом деле нет стандартов. –

ответ

2

Они, как правило, идут в ${prefix}/include/mylibrary где ${prefix} является корень установки (часто /usr для дистрибутива и /usr/local для распределения третьей партии LIBS).

Этот способ программы включают в них, как:

#include <mylibrary/header.h> 

Для получения дополнительной информации чекаут GNU Coding Standards.

Большинство систем на базе Linux основаны на операционных системах GNU и соответствуют стандартам GNU. Но там есть отличия.

Различные дистрибутивы имеют разные системы управления пакетами для установки программного обеспечения, но большинство дистрибутивов используют один из двух (об/мин & deb). Многие системы сборки абстрагируют точные местоположения для таких вещей, как заголовки и библиотеки, поэтому, если вы используете что-то вроде autotools, это позволяет человеку, выполняющему установку, выбрать местоположение или использовать настройки по умолчанию для дистрибутива.

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

+0

так что я могу просто предоставить zip/tar с помощью записей 'mylibrary/myfolder/myheader.h'? –

+0

А мы говорим об Linux. Любые подсказки для окон, андроида или что-то еще? –

+1

@PeterMel Различные дистрибутивы имеют разные системы управления пакетами для установки программного обеспечения, но большинство дистрибутивов используют один из двух (rpm & deb). Многие системы сборки абстрагируют точные местоположения для таких вещей, как заголовки и библиотеки, поэтому, если вы используете что-то вроде 'autotools', это позволяет человеку, выполняющему установку, выбрать местоположение или использовать значения по умолчанию для дистрибутива. – Galik