Opencv3中FeatureDetector未定义标识符,不在cv命名空间下的解决办法

本文提供了一套详细的指南,用于在Windows 10环境下使用Clion、CMake等工具配置OpenCV 3.3的步骤。包括安装所需软件、配置环境变量、解决编译错误及具体操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

Win10 64+ Clion 2017.1 + cmake-3.10.0-win64-x64 + opencv3.3.1 + tmd-gcc (tdm64-1) 5.1.0 + git version 2.13.1.windows.2 

文件准备

1.opencv-3.3.1-vc14.exe
2.opencv_contrib
3.mingw-w64-v5.0.3.zip

环境准备

安装好cmaketmd-gcc ,并把环境变量加到PATH,使得cmd控制台下输入cmakegcc都会有相应打印提示安装成功!

编译报错

windres.exe输入参数为空的样子 :
:\PROGRA~2\minGW\bin\windres.exe: invalid option – W

问题原因在cmake,cmake版本大于3.9会有这个问题,我的是3.8,没有这个问题,网上一个哥们说他的3.7也没有这个问题。

解决方法:

CMAKE中的ENABLE_PRECOMPILED_HEADERS去掉勾选就这个了:

这里写图片描述

安装详细步骤

一.安装opencv3.3

双击下载好的opencv-3.3.1-vc14.exe,解压到E:\opencv331目录下,并在opencv\source同级目录下新建mingw-build目录,供你存放编译好的文件。

这里写图片描述

二.下载opencv_contrib

克隆仓库:

git clone https://github.com/opencv/opencv_contrib.git

然后把opencv_contrib\modules目录下的所有文件夹批量复制到E:\opencv331\opencv\sources\modules目录下。

三.build构建

打开cmake-gui.exe,并把源代码目录设置为E:/opencv331/opencv/sources,把存放二进制编译文件的目录设置为E:/opencv331/opencv/mingw-build,然后点击左下角Configure

这里写图片描述

配置里面选第一项:MinGW Makefiles

这里写图片描述

第一次Configure完毕之后,列表呈现红色,并提示Configuring done

这里写图片描述

然后把CMAKE中的ENABLE_PRECOMPILED_HEADERS去掉勾选,然后点击右上角remove Entry,把ENABLE_PRECOMPILED_HEADERS这行删掉。

这里写图片描述

再次点击Configure!直到所有列表变白,并提示Configuring done

这里写图片描述

注意:遇见红色之后再次点击两次Configure,等到所有列表变白,没有红色的时候才表示成功。

接下来点击Generate,完成后会提示Generating done。这一步也需要选中ENABLE_PRECOMPILED_HEADERS,然后点击右上角remove Entry,把ENABLE_PRECOMPILED_HEADERS这行删掉。

四.编译

进入到目录E:\opencv331\opencv\mingw-build,然后在此目录下右键git bash here。或者win+r打开cmd控制台,然后cd进入到E:\opencv331\opencv\mingw-build目录。执行:

mingw32-make -j8        #以8线程进行编译

接下来就是漫长的等待,还有期待编译不要出错。

写在后面

这是一篇未完成的博客,笔者认为在Windows下配置opencv是一件很随缘的事情:即使配置完全正确,也无法保证100%成功。所以在这里建议各位coder转战linux,送上两篇博文参考:

1. Ubuntu下opencv3.3和opencv_contrib的编译安装
2. Win10下Clion配置opencv3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值