关于windows的吐槽
起因
最近突发奇想,想要在windows上跑一些视觉的东西,结果被狠狠地折磨了……
opencv
首先是opencv的源码编译。
在大一的时候,因为一些原因自学了一下opencv3,并且当时使用的IDE是Visual Studio 2019
。
VS虽然笨重,但是对于C++开发的一些相关依赖它确实很全面,只需要在安装时勾选一些组件即可。OpenCV的二进制文件也可以直接使用。
时隔大半年,自认为比较熟悉Linux环境配置的我想要在windows上也配置上opencv的环境。
因为想要挑战自己,所以就没有去用集成环境了。自己下载了CMake和mingw,打算将vscode打造成视觉处理的一个IDE。
但是!!从官网下载下来的库是有问题的。
问题
在使用CMake编译源码的时候,有一些组件是需要从github上下载的。但是,有关下载这一部分的配置文件已经过期了,原来那个仓库的分支已经变了,导致组件无法直接下载。
需要自己到github上下载然后复制到指定目录。
后面我想了想直接修改了配置文件里的URL,文件是正常下载了但是CMake还是有报错,从日志上没有看出来问题所在。
再后面看了几篇博客,有一个人说可以直接在CMake里不勾选那个组件,opencv除了一些核心的东西都是可以后续再添加的。
然后我果断地丢弃了ADE组件。顺利生成,顺利编译^^
结果vscode还是不可以运行opencv的项目。可以生成exe但是一执行就报错。看报错信息还是缺少了一部分组件。
在两次编译失败,三次执行失败之后,我认输了,早知道还是VS。
yolov4
在配置yolov4的时候我算是彻底看明白了,只要是涉及到编译的东西,在windows上都是困难重重的(还是因为我太菜了)。
依旧是CMake,CMake找不到CUDA。
为什么呢,为什么他会找不到呢(哭泣)。
之后又找到了一种方案,用VS去重新生成YOLO。
可喜可贺,又报错了。蛤蛤。
开始的报错是
>nvcc fatal : Unsupported gpu architecture 'compute_30' vs |
后面查了一下,原来是算力与显卡不匹配,用VS的话需要在VS里面改CUDA相关的配置,CMake编译的话需要更改makefile文件
然而我改了之后也还是有问题,蛤蛤😄
error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\nvcc.exe" -gencode=a |
新的报错长这个样子,搜了一下,都是说是路径问题或者算力不匹配,和我的问题不一样呢
至此,放弃windows环境配置
后面听朋友说yolov5配置很简单(不用CUDA的话),下次试一试
补充
windows的环境变量就是一坨十,每次改完都要重启电脑