gpt4 book ai didi

dll - MSVC dll、静态库和导入库的正确命名约定是什么

转载 作者:行者123 更新时间:2023-12-04 01:50:16 26 4
gpt4 key购买 nike

MSVC 库构建的标准或“最流行”命名约定是什么。

例如,对于以下平台库 foo有这些约定:

Linux/gcc:

shared: libfoo.so
import: ---
static: libfoo.a

Cygwin/gcc:
shared: cygfoo.dll
import: libfoo.dll.a
static: libfoo.a

视窗/MinGW:
shared: libfoo.dll
import: libfoo.dll.a
static: libfoo.a

MSVC 构建应该使用什么?据我所知,通常名称是 foo.dllfoo.lib ,但你通常如何区分导入库和静态库?

注:我问是因为 CMake创造相当 unpleasant它们之间的冲突将导入和静态库命名为 foo.lib .见 bug report .答案会
帮助我说服开发人员修复此错误。

最佳答案

您可以通过扩展名区分库和 .dll。但是您可以通过文件名而不是扩展名来区分导入库和静态库。

不会有为构建为静态库的一组代码而存在导入库的情况,或者为 dll 存在静态库的情况。这是两件不同的事情。

没有单一的 MSVC 标准文件名约定。通常,以“D”结尾的库名通常是库代码的调试版本,msvcrtd.dll对比 msvcrt.dll但除此之外,没有标准。

关于dll - MSVC dll、静态库和导入库的正确命名约定是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2140129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com