LNK4098 - 'MSVCRT' 使用 GLFW 发生冲突

LNK4098 - 'MSVCRT' conflict using GLFW

我正在使用 OpenGL 开发一个项目。但是,我在构建项目时收到链接器警告 "Resolving LNK4098: defaultlib 'MSVCRT' conflicts with ..."。

我已经阅读了很多关于此警告的内容,并发现我的 GLEW 正在使用 Dependency Walker MSVCRT.dll(我认为这应该是这样,因为那是 "default lib").但是,当我检查 GLFW3.DLL 时,它说它使用了 MSVCR120.DLL,我怀疑这是导致我的应用程序发生冲突的错误 dll。

所以我尝试使用网站上的源代码从头开始构建 GLFW。我在项目中编辑了以下设置:

然后在C/C++下->代码生成->运行时库Iselect多线程DLL(/MD)

在我编译之前,我把所有东西都放在 "release"。

当我重建一切并再次检查时,它仍然说它正在使用 MSVCR120.dll 并且它仍然导致众所周知的 LNK4098 冲突。 我在这里做错了什么?我该如何解决冲突?提前致谢!

您需要对库和您的应用程序使用相同的 "Runtime Library" 设置。

为避免出现问题,您应该准备两个版本的库:一个用于调试,一个用于发布。