В этом посте опишу как добавить новые заголовочные файлы и файлы кода в существующий C++ проект в IDE Microsoft Visual Studio. Не полноценную библиотеку, а только лишь дополнительные файлы кода.
Линковщиком линкуются только добавленные в проект файлы, т.е. те файлы, на которые ему явно указали. Не достаточно просто положить новые файлы кода в корень папки проекта вместе с остальными файлами этого проекта, т.к. это ничего не даст. Новые файлы надо явно добавить в проект, а класть эти файлы именно в директорию или субдиректории проекта вовсе и ненужно, хоть так чаще всего и делают.
Файлы кода
Чтобы добавить .cpp файлы следуйте: Главное меню > Проект > Добавить существующий элемент. Выбрать .cpp файлы для добавления и нажать на кнопку «Добавить». Можно выбирать сразу множество файлов. Файлы можно выбирать, и тем самым добавлять в проект, из любой директории, а не только из директории/папки проекта и субдиректорий. При выборе одних и тех же файлов, т.е. при повторном выборе файлов, они заново добавляться в проект не будут.
Вместо Главного меню можно кликнуть правой кнопкой мыши на проекте и из контекстного меню также выбрать пункты Добавить > Существующий элемент.
Добавленные в проект файлы отразятся в списке файлов проекта в «Обозревателе решений».
Заголовочные файлы
Заголовочные файлы (.h, .hpp) добавлять также как и файлы кода, что добавляли ранее. Помимо этого каталог с заголовочными файлами можно указать здесь: Главное меню > Проект > Свойства проекта > Свойства конфигурации > C/C++ > Общие > Дополнительные каталоги включаемых файлов. Однако, заголовочные файлы можно вообще не добавлять в проект, как добавлялись файлы кода, достаточно просто их подключить с помощью директивы препроцессора #include
. Только в этом случае, т.е. если не указать директорию заголовочных файлов (дополнительные каталоги включаемых файлов), в директиве препроцессора #include
придётся обязательно писать полный путь к каждому подключаемому файлу. Хотя, я рекомендую всегда писать полные пути к каждому подключаемому заголовочному файлу, для гарантии и большей переносимости кода.
В конце не забудьте очистить и пересобрать решение.