如何修复VS2017中SFML的Error MSB6006 "CL.exe"退出代码-1073741515问题
解决VS2017配置SFML时CL.exe退出码-1073741515的问题
这个错误码对应的是0xC0000135,说白了就是编译器找不到必需的依赖库,结合你用的VS2017和SFML版本,我整理了几个实用的修复步骤,你可以逐一尝试:
先核对版本与工具集的匹配度
VS2017默认用的是Visual C++ 15工具集,但你下载的是VC++14(2015)版本的SFML。虽然VS2017兼容旧工具集,但得手动切换:- 右键你的项目 → 属性 → 配置属性 → 常规 → 平台工具集,选择
v140(也就是Visual Studio 2015对应的工具集) - 同时确认项目平台是x86,和你下载的32位SFML对应上
- 右键你的项目 → 属性 → 配置属性 → 常规 → 平台工具集,选择
检查SFML库的部署是否到位
CL.exe崩溃很多时候是因为找不到SFML的库文件,这一步要仔细核对:- 看链接器的附加依赖项:项目属性 → 链接器 → 输入 → 附加依赖项,要选对应配置(Debug/Release)的SFML库(比如Debug模式下要加
sfml-graphics-d.lib、sfml-window-d.lib这些带-d的库) - 把SFML安装目录里
bin文件夹下的.dll文件,复制到你项目的输出目录(比如Debug文件夹);或者把SFML的bin路径添加到系统的Path环境变量里,之后记得重启VS再调试
- 看链接器的附加依赖项:项目属性 → 链接器 → 输入 → 附加依赖项,要选对应配置(Debug/Release)的SFML库(比如Debug模式下要加
修复VS2017的C++组件
有时候是VS的编译器组件损坏了,这时候可以修复一下:- 打开Visual Studio Installer,点击“修改”
- 确保勾选了“C++桌面开发”以及对应的MSVC v140工具集;如果已经勾选,直接选“修复”选项,让安装程序重新修复损坏的组件
调整项目的字符集设置
SFML默认用的是多字节字符集,而VS2017新建项目可能默认是Unicode字符集,这也可能引发冲突:
右键项目 → 属性 → 配置属性 → 常规 → 字符集,选择使用多字节字符集
要是以上步骤都试过还不行,建议新建一个空项目,按照SFML官方的配置步骤从头来一遍,排除旧项目本身的配置混乱问题。
内容的提问来源于stack exchange,提问作者Danilo Ivanovic
相关产品推荐
相关产品推荐

