vs2017配置opencv时附加依赖项-继承的值的更改

遇到的情况描述::
之前配置opencv的时候不懂,把要在属性–链接器----输入–附加依赖项处添加的opencv_world400d.lib和opencv_world400.lib两个文件都放进了debug的属性表(也可能是把debug和relaease的放反了,隔太久有点记不清楚)。
对opencv配置而言,应该是把opencv_world400d.lib放进debug的附加依赖项才可以,但是我当时把opencv_world400.lib放进去了,之后在附加依赖项–继承的值里面就一直存在,删了好几次不知道怎么删。

好了,解决的正文如下::
最后删掉的一次是这么做的(为了确认可行,我又试了几遍删除和添加,发现每一次都可以通过这个思路删除,所以应该是通用可行的):

首先:建立一个新的空项目,然后在debug处添加一个新的项目属性表这一步最重要!!一定要再添加一个属性表!!!)。
(就是下图那个64,就是我新加的)。

之后把这个属性表(新的,64那个)和原有属性表(如图中Microsoft Cpp x64 user)按照包含目录和库目录逐一设置好之后,每个属性表处都选择不从父级继承(这个的选择就是在附加依赖项那一长条点这个在这里插入图片描述,进去后下面会有一个“从父级继承”的框框选项,在那里把√去掉。)。

然后!最关键的::打开新的项目属性表64,在新属性表的附加依赖项处直接删除400.lib。
如图:选中然后直接点击删除(就是删除打出来的文本一样那么删掉)。(因为这个是我修改后的所以是400d,不要介意嘻嘻,反正你明白是要删除你不要的那个lib的意思就好啦)
vs2017配置opencv时附加依赖项-继承的值的更改_第1张图片
之后点最右边符号进入编辑,再一次点击取消从父级继承
取消之后,直接退出vs(一定要直接退出!!),这时vs会弹出一个框提醒你要不要保存配置,选择保存。

之后再重新打开vs进入该项目,点击属性配置先进入Microsoft.Cpp.x64.user这个里面,这时候继承的值里面应该已经没有opencv_world400.lib了。
(不要先进新的那个!先进旧的!)

同时我也尝试了删除出现在包含目录和库目录的继承的值的东西,用这个办法也是可以的。
因为我只配了debug的,如果你是release里面继承的值的话,就在release加新的属性表。(不过我没试过,不知道可行与否)

回头有时间的话再配好每一步的图编辑。
这个问题我弄了好几次,希望写出来的这些能够对和我一样遇到问题的人有用~
(更希望大家不要遇到这个问题哈哈)

推荐个opencv的配置博客,我没有完全按照里面的步骤,省略了对release部分的。
https://blog.csdn.net/qq_41175905/article/details/80560429

你可能感兴趣的:(vs2017配置opencv时附加依赖项-继承的值的更改)