golang 环境变量设置
GOARCH、GOHOSTARCH、GOHOSTOS 根据当前 windows 操作系统芯片架构设置,CC、CXX 设置 C 编译器,CGO_ENABLED 打开 CGO
C:\Users\70790>go env
set GOARCH=amd64
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
安装 MinGW-W64
下载地址: github.com/niXman/ming…
根据实际操作系统选择
下载解压后将 bin 目录配置到 windows 环境变量中
安装 cmake
下载地址: cmake.org/download/
下载解压后将 bin 目录配置到 windows 环境变量中
下载 gocv 包
go get -u gocv.io/x/gocv
手动下载 OpenCV 和 OpenCV Contrib 模块
进入 gopath 下的 gocv 包目录
目录下有个构建脚本 win_build_opencv.cmd
在当前目录下新建一个文件 win_build_opencv_tmp.cmd,并且将 win_build_opencv.cmd 中的内容拷贝一份到 win_build_opencv_tmp.cmd 中
查看 win_build_opencv_tmp.cmd 中的内容,我们会发现有下载 OpenCV 和 OpenCV Contrib 模块的操作,我们获取下载链接:
github.com/opencv/open…
github.com/opencv/open…
注释 win_build_opencv_tmp.cmd 文件中的下载操作,在下载命令行首加 REM 即可
将下载好的文件放在 C:\opencv 目录下
修改相关配置
- 将 opencv-4.11.0.zip 解压,修改文件 opencv-4.11.0\cmake\OpenCVGenPkgconfig.cmake 中的 cmake_minimum_required(VERSION 2.8.12) 为 cmake_minimum_required(VERSION 4.0.2),不改会报版本过低错误,重新压缩覆盖原来的 opencv-4.11.0.zip 文件
- 修改 win_build_opencv_tmp.cmd 中的 cmake 命令那一行,追加一个参数
-DOPENCV_ENABLE_NONFREE=ON,加上这个,编译出来的 opencv 才能使用有专利的算法
运行构建脚本脚本
打开 cmd 命令行,设置国外代理,不设置会下载文件超时
set HTTP_PROXY=http://xxx:xxx
set HTTPS_PROXY=http://xxx:xxx
进入 gopath 下的 gocv 包目录,运行 win_build_opencv_tmp.cmd 脚本,等待无报错运行完毕
设置 opencv 环境变量
C:\opencv\build\install\x64\mingw\bin、C:\opencv\build\bin 添加进 windows 环境变量当中
golang CGO 环境变量设置
set CGO_LDFLAGS=-LC:\opencv\build\install\x64\mingw\lib -lopencv_core4110 -lopencv_face4110 -lopencv_videoio4110 -lopencv_imgproc4110 -lopencv_highgui4110 -lopencv_imgcodecs4110 -lopencv_objdetect4110 -lopencv_features2d4110 -lopencv_video4110 -lopencv_dnn4110 -lopencv_xfeatures2d4110 -lopencv_plot4110 -lopencv_tracking4110 -lopencv_img_hash4110
set CGO_CXXFLAGS=--std=c++11
set CGO_CPPFLAGS=-IC:\opencv\build\install\include
验证成功安装
注意事项
goland 需要重启才能生效刚设置的环境变量