Как правильно использовать библиотеку только для заголовков?
Я столкнулся с путаницей относительно того, как правильно использовать библиотеку только для заголовков. Поиск в Google не помог, поскольку я не нашел ничего об использовании библиотек только для заголовков.
Поэтому мой вопрос: нужно ли просто скопировать заголовочные файлы и вставить их в папку моего проекта и использовать их таким образом, или я должен связать их с проектом, используя C\C++ >> Общие >> Дополнительные каталоги включения?
3 ответа
Я бы сказал, что копирование файла в папку вашего проекта предпочтительнее. Таким образом, ваш проект самодостаточен. Затем вы можете передать его кому-то другому, и он сможет построить его, не меняя конфигурацию.
Теперь, если вы используете boost, который также имеет библиотеки только для заголовков, это уже другая история. Повышение легко получить, и зависимость вашего проекта от повышения менее проблематична. В этом случае я бы добавил его в "Дополнительные включения".
Вы можете сделать либо, это действительно вопрос удобства. Традиционно вы включаете их в свой путь включения, но вы также можете поместить их в свой проект. Включение их в ваш проект делает его более автономным и защищает вас от изменений библиотеки, нарушающих код, но также означает, что вы должны, например, устанавливать обновления, связанные с безопасностью библиотеки, в каждую копию проекта.
Должен ли я просто скопировать файлы заголовков и вставить их в папку моего проекта и использовать их таким образом, или я должен связать их с проектом, используя C\C++ >> General >> Additional Include Directorys?
Я бы не сказал ни :-).
Мое предложение состояло бы в том, чтобы добавить каталог в папку Свойства конфигурации проекта/Каталоги С++/Включить каталоги. Таким образом, вы можете гарантировать, что поиск в каталоге библиотеки будет выполняться раньше, чем в других каталогах, в которых может быть устаревшая версия библиотеки. Кроме того, это позволяет иметь одну ссылку на библиотеку из нескольких проектов.