我正在使用OpenGL做一个项目。但是,我有链接器警告"正在解决LNK4098:默认库'MSVCRT'与..."当我构建项目时。
我一直在阅读有关此警告的很多内容,并使用依赖沃克发现我的 GLEW 正在使用 MSVCRT.dll(我认为这就是它应该的样子,因为这是"默认库")。但是,当我检查 GLFW3 时.DLL它说它使用了 MSVCR120.DLL,我怀疑错误的 dll 会导致我的应用程序中发生冲突。
所以我尝试使用网站上的源代码从头开始构建 GLFW。我在项目中编辑了以下设置:
- 目标扩展名 ->首先我构建 .lib,然后是.dll
- 平台工具集 -> v120
- 配置类型 ->首先我构建 .lib,然后是.dll
然后在 C/C++ -> 代码生成 ->运行时库下,我选择多线程 DLL (/MD)
在编译之前,我把所有东西都放在"发布"上。
当我重建所有内容并再次检查它时,它仍然说它正在使用MSVCR120.dll并且仍然会导致众所周知的LNK4098冲突。我在这里做错了什么?如何解决冲突?提前感谢!
对库和应用程序使用相同的"运行时库"设置。
为避免出现问题,您应该准备两个库版本:一个用于调试,一个用于发布。