我注意到有关我使用的库的以下内容:
- 库被编译为.lib文件。
- 我的代码需要编译为多线程(调试)DLL才能链接到这个库。
我打开库的.sln(解决方案)文件(它是开源的)并在其项目属性中看到以下内容:
- 运行时库选项设置为Multi-threaded (Debug) DLL。
- 配置类型设置为静态库 (.lib)
我的困惑是:
- 上面的库选项是不是有冲突?(静态库说一个选项,DLL 说另一个)
- 动态链接的.lib是一种什么样的动物?它与DLL有何不同?
请注意,我知道 Linux 世界中静态库和动态库之间的区别。