File Name Link
The linker itself has the least problems, but some IDEs will complain if files are added, even if they are in different folders. But usually this is not a problem.
Do not distribute static library (without source)
First, you should not distribute the static library yourself. The code - and compatibility - depends on the compiler, and many common settings, such as the runtime library (static / dynamic, debugging / release, happily, that one thread is removed from VC), some C ++ parameters, such as exception handling, presentation virtual member function pointer and others. Ultimately, you create hundreds of options to support only mainstream compilers, and you end up with someone who needs it anyway.
Always turn on the source so that the user can rebuild the static library on his field. As an alternative, you can use a dynamic library, but it has its own gotchas.
Namespace
As mentioned, use a namespace to avoid collisions. Do not cross overboard if you have a source, the user can always rename it. But keep in mind that declarations using namespace should not appear in the header, so you need to adjust the code a bit.
source share