Sure it works.
It depends how you design your interfaces. If you consequently use boost in
cpp files only and declare in a header a pointer to a pImpl object, that
works very well (with Visual Studio as well). Robert, I would suggest for
you to take a look in the book: Large-Scale C++ Software Design by John
Lakos. There he explains all that idioms and how to organize projects for
better compilation speed. And much more other things.
http://www.amazon.com/Large-Scale-Software-Addison-Wesley-Professional-Computing/dp/0201633620/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1240821340&sr=8-1
I did it many times in my projects and it always worked well.
Additional articles by Herb Sutter can be of help:
http://www.gotw.ca/gotw/024.htm
http://www.gotw.ca/gotw/007.htm
Regards,
Ovanes
On Mon, Apr 27, 2009 at 12:32 AM, Igor R
One possible solution would be to use pImpl idiom and use boost in cpp files via the forward declartion. This might work in conjunction by splitting one big project in producing multiple libs or shared objects (dlls) and link against binaries with slim headers.
The problem is that such an approach doesn't work if a project contains a lot of class templates, which in turn use boost. MSVC9 has /MP switch that enables "build with multiple processes", but it's very limited, as it conflicts with /Gm (enable minimal rebuilds) and some other options...