What is the point of a .cpp file containing only a single #include?
===

I am starting some work using a third party library and when building it in Visual Studio 2010, I noticed I was receiving this linker warning many times ([LNK4221][1]). I looked at the sources used in creating the object files that were being linked and found that all of the implementation for these is located in the header files. Interestingly, I also noticed the project included corresponding .cpp files containing **only** a #include for the header with the implementation.

I am curious - what is the point of this and why would I want to use this technique? If the .cpp files aren't adding any value to the project, why shouldn't I just remove them to get rid of the linker warnings?

I tried searching for similar questions, but didn't find anything of interest. If you know of any, please link them.


  [1]: http://msdn.microsoft.com/en-us/library/604bzebd.aspx