   C++ project structure with Visual Studio 2005
  Hello.I am trying to lay out a directory structure for a simple engine that I am developing in C++ with Visual Studio 2005. I am building the engine as a dll so that I can easily update it and reuse it. As such I need to provide the .lib and exposed .h files to the consumer of the engine. I am currently using the default directory layout the Visual Studio 2005 creates (using the create a seperate directory for the solution option). This puts all header and source files in one project folder which seems sloppy. Especially for parsing out the exposed .h files to supply to the consumer. Here is what I have currently./daedalus_project/.../debug/......daedalus_d.dll......daedalus_d.lib.../release/......daedalus.dll......daedalus.lib.../daedalus.sln.../daedalus/....../ITimer.h....../HighResolutionTimer.cpp....../HighResolutionTimer.hI have thought about adding two other folders to /daedalus/. /shared/ and /source/ so that all public interfaces are grouped in the /shared/ folder and all private files are in /source/. I could then easily make a post-build event to dump the shared .h files in a more accessible folder. Perhaps even modifying /debug/ to contain /bin/ /lib/ and /include/ so that they are all packaged neatly. Giving me the final structure as/daedalus_project/.../debug/....../bin/.........daedalus_d.dll....../lib/.........daedalus_d.lib....../include/.........ITimer.h.../release/....../bin/.........daedalus.dll....../lib/.........daedalus.lib....../include/.........ITimer.h.../daedalus.sln.../daedalus/....../shared/.........ITimer.h....../source/........./HighResolutionTimer.cpp........./HighResolutionTimer.hI think this final structure will work well in the long run but I am looking for feedback on it before I invest too much time and it becomes difficult to change. Does anyone have any questions, comments or suggestions about the above project layout?   
  I have a general layout that I use for my projects:C:   Programming ProjectFoo    Build  Debug  ReleaseFoo.exe    Source  foo.cpp  foo.h  SubFooStuffsubfoo.cppsubfoo.h ProjectBar Shared    LibraryBaz  Build  Source    LibraryQuuxThis requires a fair bit of tweaking of the default VS path settings, but it really makes integration of several projects quite convenient, and is easy to use in automated tools. Often I will split a separate Deploy directory off from the Build directory, if there are data files and such needed by the application. Deploy then basically looks exactly like the final installed app would.We use a quite different setup at work, but it's actually not that great, so I won't bother typing it up [smile]   ;  Thanks for the reply. It seems that Visual Studio's default folders are not ideal for larger projects. And with C++ is is compounded by the fact the the "folders" in the IDE are not representative of the physical folder structure. I generally do not like to fight the IDE's but it looks like this is a case where a little extra work up front will save me work in the long run.   