Gremlin92
@Gremlin92
Целеустремленный

Как из MVP сделать библиотеку?

Написал MVP на плюсах с зависимостями от других библиотек и фреймворков, как бы сделать библиотеку из всего этого кода в винде? Чтобы потом импортировать ее в любую программу на плюсах и она работала. И какие подводные?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C++
Вот подводные.
Если коротко, то вам надо:
  • решить, как доставлять пользователю ВАШИ зависимости (в целом варианта три: на уровне исходного кода, на уровне инструкции для пользователя, или использовать пакетный менеджер);
  • решить, как пользователь будет собирать библиотеку и получать себе необходимые настройки сборки (например, многие проекты, которые сами используют CMake, автоматически генерят так называемые CMake-конфиги, чтобы потом библиотеку можно было легко подключить с помощью find_package);
  • настроить правильный API для своей библиотеки, в частности аккуратно выставить публичные хедеры, чтобы был свой так называемый "header namespace" и прочие штуки;

Т.к. я кинул вам уже целых две книги (неплохие, хорошо пригождаются в работе), то вы понимаете, что в C++ с этим немного геморройно, в частности из-за адского зоопарка сборочных систем и целевых платформ.
С другой стороны, наиболее популярны сейчас CMake и Meson (симейк считай билд-система по-умолчанию для C++), а также появились ультимативные решения задачи упаковки, такие как Conan (который унифицирует различную сборочную информацию и пропускает её через себя, чтобы можно было использовать в разных пакетах разные сборочные системы). Но всё-таки разобраться придётся, чудо в такой разнородной экосистеме сотворить сложно. Кстати, именно по этой причине многие плюют на грамотную упаковку, и предлагают подключать библиотеку путём импорта в проект исходников (например, через git-сабмодули).

Вы можете задавать более конкретные вопросы, постараюсь помочь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы