Какая наилучшая или наиболее часто используемая практика для структуры папок проекта:
project |-- src |-- include
или
project |--src
|--include
т.е. есть ли папка include в исходной папке или как рядом друг с другом?
редактировать:
Этот тип похож: отдельные папки "включить" и "src" для кода уровня приложения? , но ответы на самом деле не удовлетворяют.
Я предпочитаю иметь две папки на одном уровне. Вы должны выбрать свой собственный путь.
Я предпочитаю отдельно отделять источники от включений для make файла и, чтобы получить больше видимости в моем проекте.
Project |--src/
|--include/
|--others/
|--obj/
|--Makefile
Если бы я создал библиотеку, я бы сделал структуру каталогов следующим образом:
project/
project_name/
src/
Где project_name
имеет project_name
файлы.
Однако для проекта на уровне приложений это было бы моим выбором:
project/
src/
src/
then будет иметь все файлы.h или.c.
Короче говоря, не используйте папку для файлов заголовков, если вы не пишете библиотеку, потому что библиотека должна быть более организованной, а также упрощает установку для библиотеки.
По моему опыту, наличие каталога include
рядом с каталогом src
чаще встречается в библиотеках с открытым исходным кодом.
Обратите внимание, что в некоторых библиотеках используется другое подразделение: они делят библиотеку на модули (например, ModA
, ModB
т.д.), А затем имеют каталог include
и src
для каждого из модулей, то есть ModA/include
, ModA/src
, ModB/include
и ModB/src
. См. Например, библиотеку PCL.
include
содержит только внешне видимые заголовочные файлы (например, те, которые распространяются вместе с библиотекой). Другие заголовочные файлы находятся внутриsrc
вместе с остальной частью исходного кода.