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

Я видел много вопросов о переполнении стека, таких как «как включить curlpp и т.д. в Visual Studio?»

Если у нас есть код этих библиотек, доступных онлайн, почему люди явно используют .lib файлы для включения в свои проекты, когда они могут добавить код непосредственно в свой проект?

И я пытаюсь добиться вышеуказанного для curlpp, но мне не удается получить столько ошибок компоновщика. Может кто-нибудь предложить, как интегрировать открытый исходный код напрямую, что я хотел сделать, даже если у этого подхода есть недостатки? Можете ли вы направить меня на какой-нибудь пост в блоге или шаги для достижения этой цели? И каковы недостатки этого подхода?

Редактировать: Компиляция может не быть веской причиной, если я не занимаюсь большим количеством кода. И с точки зрения пользователей, вы все равно должны распространять двоичные файлы, используемые проектом. За исключением фактора компиляции и предположения, что код имеет открытый исходный код и нет проблем с лицензированием, какие могут быть другие недостатки?

Мой главный вопрос заключается в том, чтобы знать, как интегрировать такой сторонний код напрямую.

Спасибо за все недостатки, но я пытаюсь поэкспериментировать, можете ли вы подсказать мне, как это сделать?

0

Решение

По многим причинам. Со стороны разработчика:

  • Вы не хотите компилировать много вещей, если они уже собраны кем-то другим
  • Вы не хотите загружать исходные коды и компилировать их снова и снова каждый раз, когда они обновляются сторонним разработчиком
  • Вы не хотите, чтобы ваши двоичные файлы были больше, чем им нужно
  • Исключение по ссылкам GPL и другие возможные вопросы лицензирования

Со стороны пользователей:

  • Вы не хотите, чтобы одна и та же библиотека была жёстко в несколько различных программных двоичных файлов (это было бы диском и тратой памяти)
0

Другие решения

Библиотеки также помогают в:
я. компонентизация
II. Разъединение API с реализациями.

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

0

По вопросам рекламы [email protected]