vs编译报错error MSB3191无法创建目录

在使用vs编译时报错

先说我这个问题的解决方法再分析,修改属性->链接器->生成数据库文件选项,设置一个正常的路径就可以了,或者设置为$(TargetDir)$(TargetName).pdb。

从错误提示可以明显的看出提示无法创建目录的路径是一个错误的路径我们只要将路径修改正确应该就可以了,而对于各种路径和编译参数设置都是在属性中设置的,但是属性中相关设置项太多了我们怎么才能快速定位呢?这里有两个定位办法。

方法一:

当你不知道具体是哪个选项的设置时在每个大的设置选项下都有一个命令行这里面包含了所有当前target下的设置,可以将命令行中的内容拷贝出来然后搜索报错提示内容定位到具体的target再逐个检查修改。

方法二:

从图示中我们可以很清楚的看到当前vs正在执行的操作是在创建目录并且失败,看图中红框标识的内容只要英语不是太差可以知道当前正在为link创建目录,而在属性设置中就有链接器这个选项所以我们知道这个错误是我们链接器下某个选项设置错误,我们就能很快定位到错误了。

另外针对方法二扩展一下,当我们在vs中点击生成后解决方案后(F7)会进行语法检查、编译、链接最后生成我们的可执行文件,这些步骤可以称为一个个targets,在我当前使用的这个版本vs2015针对这个错误双击错误行会打开文件Microsoft.CppBuild.targets,里面包含了整个生成解决方案执行流程有兴趣的可以自行了解,搜索当前target MakeDirsForLink可以发现当前target属于Link targets所以可以去链接器里查找。当我们对生成流程有一定了解当生成是发生错误可以有助我们更快定位问题所在。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值