我正在使用 OpenGL 开发一个项目。但是,当我构建我的项目时,我有链接器警告“正在解决 LNK4098:defaultlib 'MSVCRT' 与...冲突”。
我一直在阅读有关此警告的很多内容,并使用 Dependency Walker 发现我的 GLEW 正在使用 MSVCRT.dll(我认为这就是它应该的样子,因为那是“默认库”)。但是,当我检查 GLFW3.DLL 时,它说它使用 MSVCR120.DLL,我怀疑是错误的 dll 导致我的应用程序发生冲突。
所以我尝试使用网站上的源代码从头开始构建 GLFW。我在项目中编辑了以下设置:
- 目标扩展 -> 首先我构建 .lib,然后是 .dll
- 平台工具集 -> v120
- 配置类型 -> 首先我构建 .lib,然后是 .dll
然后在 C/C++ -> Code Generation -> Runtime Library 我选择 Multi-threaded DLL (/MD)
在编译之前,我将所有内容都放在“发布”上。
当我重建所有内容并再次检查时,它仍然说它正在使用 MSVCR120.dll 并且它仍然会导致众所周知的 LNK4098 冲突。我在这里做错了什么?我该如何解决冲突?提前致谢!