【问题解决】warning MSB8012:TargetPath与Linker的OutputFile属性值不匹配

问题缘由:

因项目需要,决定使用libconfig库。下载的libconfig1.4.9默认使用的是vs2008的解决方案配置。鉴于我的工作环境是vs2010,并且后续工作中也需要使用到vs2010,所以决定将用将该项目从vs2008解决方案,转换为vs2010的解决方案。

转换一切顺利。在进行项目生成时,注意到存在warning:

1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\lenovo\Desktop\libconfig-1.4.9\Debug\libconfig.dll) 与 Linker 的 OutputFile 属性值(C:\Users\lenovo\Desktop\libconfig-1.4.9\Debug\libconfig_d.dll)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(libconfig) 与 Linker 的 OutputFile 属性值(libconfig_d)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。

经了解,发现该问题可能是由转换和升级解决方案时造成的问题。

------------------------------------------------

问题解决:

其实就是和warning中提示的一样,在"项目->属性->配置属性->常规"选项卡下的“目标文件名”选项,和“项目->属性->配置属性->链接器->常规”选项卡下的“输出文件”选项,不一致,所以造成了输出文件命名上的矛盾,从而产生该warning。




要解决该warning,只要修改链接器->常规->输出文件,或者修改配置属性->常规->目标文件名即可。此处我选择的是修改链接器的输出文件名。


修改完成。再清理解决方案,重新生成,便没有warning产生。生成的.lib与.dll文件都没有_d。


网络上的相关资料:百度C++吧:warning MSB8012怎么解决

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值