代码生成失败:'p2'中无法识别的标志'-FitObjData'

时间:2016-07-06 17:03:49

标签: c++ visual-studio linker-errors

在将libpng静态库添加到我的项目以与pngwriter一起使用后,我收到此错误“无法识别的标志'-FitObjData'在'p2'中”。如何修复此错误以及它告诉我的是什么?我正在用VC10编译。

3 个答案:

答案 0 :(得分:2)

我在尝试与openssl链接时也遇到了这个问题。

问题是openssl是由visual 2015构建的,我与visual 2012链接。这种差异可能会引发视觉工作室后端的一些黑暗魔法。

尝试使用visual 2010重新编译静态库。

答案 1 :(得分:0)

如果您的解决方案具有多个项目和构建配置,请确保为所有项目和构建配置更新目标平台。

从VS 2010更新到VS 2015之后,我遇到了这个问题。一个项目无法在Debug配置中构建,因为它所依赖的库(在同一解决方案中)仍在使用Platform Toolset构建(在其Debug配置中) =“ Visual Studio 2010”。将其更新为“ Visual Studio 2015(v140)”解决了我的问题。

答案 2 :(得分:0)

您不一定需要重建任何东西,具体取决于您的 Visual Studio 安装和您想要做什么。

我有两个安装,VS-2017 和 VS-2019。我的 $PATH 选择了 2017 年版的 lib.exe,但 Extension.obj 是用 2019 年版构建的。我只是把2019 lib.exe的完整路径:

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx86\x86\lib.exe" /out:Extension.lib Extension.obj