Существует ли соглашение об организации включения / экспорта в большой проект C ++? - PullRequest
2 голосов
/ 06 мая 2010

В большом решении C ++ есть ли лучший / стандартный способ разделения включаемых файлов, необходимых для создания промежуточной DLL, и включаемых файлов, которые будут использоваться клиентами DLL?

Мы сгруппировали все включаемые файлы в папку с именем Interface (для интерфейса DLL), но там клиенты должны либо включить папку Interface в качестве включаемой по умолчанию папки, либо ввести полное имя как:

#include "ProjectName/Interface/myinterface.h"

Не лучше ли создать отдельную папку с именем export, в которой я бы создал папку с именем ProjectName и поместил туда включаемые файлы? Чтобы клиенты набирали:

#include "ProjectName/myinterface.h"

Если я сделаю все правильно, то должен ли я сохранить файлы в решении и создать событие после сборки (я использую Visual Studio 2k5), чтобы скопировать файлы в папку экспорта (/ ProjectName /)? Или лучше просто напрямую включить файлы из этой папки в мой проект (это более прямое и меньше шансов вызвать проблемы с обслуживанием?

Я больше ищу совета, чем определенного решения.

Спасибо, что прочитали это!

Anthony

1 Ответ

3 голосов
/ 06 мая 2010

Если интерфейс может состоять из нескольких заголовков,

#include "ProjectName/Interface/header1.h"

мне кажется лучше.

...