What is standard or \"most-popular\" naming convention for MSVC library builds.
For example, for following platforms library foo
has these conventions:<
There is no standard naming convention for libraries. Traditional library names are prefixed with lib
. Many linkers have options to prepend lib
to a library name on the command line.
The static and dynamic libraries are usually identified by their file extension; although this is not required. So libmath.a
would be a static library whereas libmath.so
or libmath.dll
would be a dynamic library.
A common naming convention is to append the category of the library to the name. For example, a debug static math library would be 'libmathd.a' or in Windows, 'lib_math_debug'. Some shops also add Unicode as a filename attribute.
If you want, you can append _msvc
to the library name to indicate the library requires or was created by MSVC (to differentiate from GCC and other tools). A popular convention when working with multiple platforms, is to place the objects and libraries in platform specific folders. For example a ./linux/
folder would contain objects and libraries for Linux and similarly ./msw/
for Microsoft Windows platform.
This is a style issue. Style issues are often treated like religious issues: none of them are wrong, there is no universal style, and they are an individual preference. What ever system you choose, just be consistent.