在Visual Studio 2012中出现'Unrecognized flag '-FitObjData' in 'p2''错误及致命错误的原因?
关于VS2012中'Unrecognized flag '-FitObjData' in 'p2''错误的原因分析
这个错误我之前帮朋友排查过,大概率是下面这几个原因导致的:
编译器/链接器版本不兼容
-FitObjData是MSVC链接器的一个参数,主要用于控制对象数据的拟合优化,但这个选项是在Visual Studio 2015及以后的版本才引入的。VS2012自带的链接器完全不认识这个参数,所以当项目配置里出现它时,就会抛出未识别的错误。项目迁移时遗留了不兼容配置
如果你的项目是从更高版本的VS(比如VS2017/2019)迁移到VS2012的,迁移过程中可能没有清理掉高版本才支持的链接器参数。比如在项目属性的「链接器 -> 命令行」里手动添加了-FitObjData,或者项目的.vcxproj配置文件里残留了这个参数,VS2012加载时就会报错。第三方构建工具生成了错误参数
要是你用了CMake、Ninja这类构建工具来生成VS2012的项目文件,工具可能因为配置错误(比如指定了错误的VS版本),误把高版本VS的链接器参数塞给了VS2012,导致出现这个未识别的flag错误。
内容的提问来源于stack exchange,提问作者Muhammad Ali Hasan Khatami Sin
相关产品推荐
相关产品推荐

