从入门到放弃-windows下安装VSCode+minGW+Cmake+Opencv

从入门到放弃-windows下安装VSCode+minGW+Cmake+Opencv

前言

自从知道了c++版写opencv的好处之后,我就萌生了安装opencv 的想法(原来用的是python写的opencv)。安装的过程中天知道我经历了什么,可能我遇到了网上所有的问题,还有一些网上没有的。下面就是我的惨痛经历:

安装VSCode

1.下载通道,选择自己的操作系统对应的版本,我选的是user installer 64bit;
在这里插入图片描述
2.傻瓜式安装,一直下一步
在这里插入图片描述
3.环境变量
这步骤也是默认的,因为改编辑器是微软提供的,会自动配置path。但是我想自己配置,所以就没有勾选“添加到PATH”。
在这里插入图片描述
4.安装完成
在这里插入图片描述
5.配置环境变量(上面勾选了“添加到PATH”的,这里可以略过)
在这里插入图片描述
6.安装一些常用库
安装C/C++,Chinese.点到这里是可以看到有insall的,我的是安装过了所以没有。
在这里插入图片描述
在这里插入图片描述

安装minGW

1.下载minGW,官网
打开网络你会发现有两种安装方式,一种是网络安装(MinGW-W64 Online Installer),一种是手动安装MinGW-W64 GCC-版本号),第一个方法需要网络环境较好,我安装的时候,安装了一晚上都没反应,进度条居然一点都没动(反复安装过很多次,在线下载器有时不咋稳定)。第二种方式直接将下好压缩包解压到你的安装目录里,如:C:\mingw64.
注:这里的mingw是64位系统的哦。推荐使用X86_64-win32-seh版本。
每个选项都是做什么的大佬有介绍.传送门
2.设置环境变量
在这里插入图片描述
3.检查mingw是否安装成功:gcc -v
在这里插入图片描述

安装Cmake

1.下载地址
选择binary distributions,这个要稳定一些。
在这里插入图片描述
2.安装路径自选,将该路径添加到环境变量。检查安装:
在这里插入图片描述

安装opencv

1.在官网下载exe文件,点击安装
在这里插入图片描述
2.在操作cmake-gui之前,如果没有翻过墙的话,要先在C:\Windows\System32\drivers\etc\hosts文件最后追加:151.101.72.133 raw.githubusercontent.com
因为cmake-gui会下载一些文件,这些文件都在raw.githubusercontent.com上,如果不修改一下hosts,许多文件很可能会下载失败。
如果非要管理员模式的话,就用文件覆盖。
打开cmake-gui后选择源文件路径和MakeFiles保存路径(自选路径),如图:在这里插入图片描述
在这里插入图片描述
要注意下拉框选择的是MinGW,不要看岔了。之后点击Next,选择MinGW文件中编译工具如下,最后点击Finish。
在这里插入图片描述
执行过程中消息框会出现一堆红色信息,最后显示Configure done,是正常的。如果执行时中断,则存在其他问题。在执行完后,勾选BUILD_opencv_world,WITH_OPENGL和BUILD_EXAMPLES,不勾选OPENCV_ENABLE_ALLOCATOR_STATS、WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS(如果有的话),CPU_DISPATCH选空。如果要编译opencv_contrib,则需要在OPENCV_EXTRA_MODULES_PATH 把路径选择为解压的opencv_contrib文件中的“modules”文件夹。
此处出现ffmpeg、xfeatures2d等文件出错的问题,解决办法有:传送门
3.编译opencv
有两种方法,一种是使用编译好的文件(暂时忘记网站地址了,只记得是在github上),这样不会报错,但是注意版本对应。另一种就是手动使用cmake编译opencv,这部操作是整个安装步骤里最恶心,最变态的一步,在这里你会遇到各种各样的问题。
cmd到makefiles所在文件夹,执行minGW32-make命令,或者使用多线程minGW32-make -j (j可以是4,8,看你电脑能承受多少)建议不使用多线程,不稳定。
在这里插入图片描述
如果报错可查阅以下博客:
https://blog.huihut.com/2018/07/31/CompiledOpenCVWithMinGW64/
vs_version.rc.obj,error 1:
https://blog.csdn.net/sinat_36264666/article/details/73200739
https://stackoverflow.com/questions/61707195/error-building-opencv-with-mingw-qt-windows
在这里插入图片描述
一般问题都是可以通过勾选和去勾选解决的,因为之前就Configure过,因此回头再Configure一下花不了太多时间。
完成编译后,输入mingw32-make install,将OpenCV编译好的东西安装至build目录下install子目录中。

在VSCode中配置opencv

配置文件一—launch.json:
在启动界面点击打开文件夹,将目录选择至main.cpp所在的目录。打开main.cpp,点击启动调试,在选择环境这儿选择C++(GDB/LLDB),选择g++项,会出现launch.json配置文档界面。复制下面内容替换原来的内容。部分地方请根据自己的实际情况修改。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "build",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "这里填gdb.exe的目录,目录填完后还要加上gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build"
        }
    ]
}

配置文件二—tasks.json:
按Ctrl+Shift+P组合键,在弹出选项卡中输入tasks,选择任务:配置默认生成任务(Tasks:Configure Default Build Task),进入tasks.json的配置文档界面,同样复制如下内容替换掉原来tasks.json内容。

{
// 有关 tasks.json 格式的文档,请参见
    // https://go.microsoft.com/fwlink/?LinkId=733558
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "build",
            "command": "这里填g++.exe的目录,填完目录后加上g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-I",
                "这里填OpenCV头文件目录",
                "-L",
                "这里填静态库文件目录",
                "-l",
                "opencv_img_hash345",
                "-l",
                "opencv_world345"
            ],
            "options": {
                "cwd": "这里填MinGW-w64的bin目录"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
    ]
}

配置文件三—c_cpp_properties.json:
按Ctrl+Shift+P组合键,在弹出选项卡中输入c/c++,选择C/C++编译配置(JSON)(C/C++:Edit Configurations(JSON)),进入c_cpp_properties.json,更改其中的includePath:

"includePath": [
                "${workspaceFolder}/**",
                "F:\\CV\\build\\install\\include",
                "F:\\CV\\build\\install\\include\\opencv",
                "F:\\CV\\build\\install\\include\\opencv2"
            ],

遗留问题

在这里插入图片描述
有哪位兄台是遇到过这个问题或者可以解决这个问题的吗?

参考

[1]https://www.jianshu.com/p/4e1f1edabfda
[2]https://www.jianshu.com/p/5933a8328805
[3]https://www.jianshu.com/p/bc6017331646
[4]https://www.cnblogs.com/kensporger/p/12320622.html

其他参考博客不记得了,如有冒犯,烦请原谅。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值