Is there a convention for organizing inclusion / exporting in a large C ++ project?
In a large C ++ solution, is there a better / standard way to separate the include files needed to create the intermediate DLL and the include files that will be used by the DLL clients?
We have grouped all the included files in the Interface folder (for the interface DLL), but there clients have to either include the interface folder as the default enabled folder, or type in the full name like:
#include "ProjectName/Interface/myinterface.h"
Wouldn't it be better to create a separate folder called export where I would create a folder called ProjectName and put the included files there? For clients to print:
#include "ProjectName/myinterface.h"
If I am doing this correctly, then should I store the files in the solution and create a post build event (I am using Visual Studio 2k5) to copy the files to the "export" folder (/ ProjectName /)? Or is it better to just directly include the files from that folder in my project (is this more straightforward and less likely to cause maintenance issues?)
I'm looking more for advice than for a specific solution.
Thanks for reading this!
Anthony
a source to share