2016-08-18 2 views
0

Я пишу многоплатформенное приложение (windows и Linux) в C++, используя boost asio. У меня есть предыдущий опыт использования gradle для автоматического управления зависимостями Java и нашел, что инструменты для C++ не так хороши. В настоящее время лучшее, что я нашел, это nuget для визуальной студии.C++ Оптимизация управления зависимостями

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

Также, пожалуйста, по возможности укажите веские причины для вашего ответа. Благодарю.

ответ

1

Из моего наблюдения, предоставление документов о том, как настроить среду сборки, является общим способом.

Это может сделать ваш проект более портативным. То есть пользователи могут выбирать зависимости, которые они хотели бы построить. И вам не нужно обновлять свой проект из-за обновления зависимостей.

Очень важно, что вам нужно иметь в виду, что вам следует подумать о том, как сделать проблему строительства легкой. Убедитесь, что ваш проект достаточно общий, чтобы соответствовать зависимостям. И документ должен быть четким и компактным.

+1

В идеале я хотел бы удалить необходимость использования пользователем определенных версий файлов. До сих пор я использовал наборы cmake и git-подмодули. https://foonathan.github.io/blog/2016/07/07/cmake-dependency-handling.html –