VS编译器版本导致的莫名其妙的链接错误。【LINK : fatal error C1007: 无法识别的标志“-FitObjData”(在“p2”中)】【error LNK2019: 无法解析的外部符号】

最近写了一个静态库xxx.lib,发现在生产exe中使用时报错:LINK : fatal error C1007: 无法识别的标志“-FitObjData”(在“p2”中)

最近一个同事问我一个问题,使用log4cpp静态库的时候,报错:error LNK2019: 无法解析的外部符号。明明其他工程都可以使用,并且也包含了静态库的lib文件了。

这两个都是同一个原因。VS 版本不一致导致。

第一个问题出现的原因是我使用vs2017编译了xxx.lib,在使用vs2015编译的exe中使用,导致出现了这个奇怪的错误。

第二个问题出现的原因是log4cpp.lib是使用vs2015编译的,使用的工程是使用vs2017编译的。

这两个问题再把vs版本改成一致之后都解决了。

参考资料:

https://blog.csdn.net/jewelsu/article/details/102792223

https://www.cnblogs.com/bile/p/8116809.html

原文地址:https://www.cnblogs.com/1yzq/p/13460753.html