在VS2017以上版本中关闭vcpkg的使用
问题描述
在某工程中使用早期自己编译的opencv3.4.1版本,一切正常,最后调用的waitKey()
函数正常工作(即可以让窗口暂停直到按下任意按键);
但是安装了vcpkg
并集成到VS2017后,又用vcpkg
安装了opencv4.3.0
版本,该工程的waitKey()
函数便不起作用了。
原因分析:安装了vcpkg并且用它装了opencv其他版本,vs就自动去vcpkg目录下去找库文件,则程序中链接的库可能出现问题,(opencv341.xxx等可能与vcpkg的opencv430.xxx冲突)导致函数失效。
vcpkg安装的库使用优先级是高于在工程中配置的VC++目录和附加包含目录的。
解决方法
在已经配置好的工程中,如果使用了其他不同版本的vcpkg安装过的库,就要在下图的位置把vcpkg关闭,以防链接和包含头错误。