What is proper naming convention for MSVC dlls, static libraries and import libraries

后端 未结 6 499
借酒劲吻你
借酒劲吻你 2021-01-02 03:58

What is standard or \"most-popular\" naming convention for MSVC library builds.

For example, for following platforms library foo has these conventions:<

6条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-02 03:59

    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.

提交回复
热议问题