Windows子系统Ubuntu安装和Goland+Gocv编译的问题解决
- 如何在Windows安装Ubuntu子系统
- 如何安装Gosdk和Goland
- 在Ubuntu里面安装可视化界面
- 如何安装Gocv
- 如何在Ubuntu上静态编译Golang+GoCV程序
一、Windows安装Ubuntu
进入Windows商店Microsoft Store搜索ubuntu找到20.04.5 LTS版本点击下载
下载完成在电脑上面找到你的ubuntu我的是在开始栏这里直接点进去就可以
确保进入的是root用户
如果需要用到子用户和设置密码查看(进入不到root也可以重新设置root密码即可)
https://blog.csdn.net/chinabinlang/article/details/112547691
二、安装Go sdk
下载安装包
root@InstrellV5:~# wget https://go.dev/dl/go1.19.linux-amd64.tar.gz
解压到/usr/local/lib/目录下面
root@InstrellV5:~# sudo tar -zxvf go1.19.linux-amd64.tar.gz -C /usr/local/lib/
建立软链接
root@InstrellV5:~# sudo ln -s /usr/local/lib/go/bin/* /usr/bin/
配置Go环境变量(给所有用户配置环境)
# GOPATH需要设置成你自己的路径
root@InstrellV5:~# sudo tee -a ~/.bashrc << EOF
> export GOROOT=/usr/local/lib/go/
> export GOPATH=/home/${USER}/sdk/go
> export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin
> EOF
开启Go模块代理
root@InstrellV5:~# go env -w GO111MODULE=on
root@InstrellV5:~# go env -w GOPROXY=https://goproxy.cn,direct
查看go版本
root@InstrellV5:~# go version
三、安装Goland
将goland-2022.3.1.tar.gz拉到ubuntu上面进行解压
root@InstrellV5:/home/yangyang# tar -xvf goland-2022.3.1.tar.gz
进入goland的bin目录下
root@InstrellV5:/home/yangyang# cd GoLand-2022.3.1/bin
给可执行文件goland.sh赋予权限
root@InstrellV5:/home/yangyang/GoLand-2022.3.1/bin# sudo chmod +x ./goland.sh
四、安装ubuntu可视化界面
这里我用的是VcXsrc windows
在官网下载 VcXsrv Windows X Server download | SourceForge.net
然后打开进行配置(这里在网上教的最合适的配置)
配置完成后执行命令(下面过程要保证XLaunch配置完成并且在启动着)
root@InstrellV5:~# exportDISPLAY=`cat/etc/resolv.conf | grep nameserver | awk '{print $2}'`:0
然后进去goland的bin目录执行
root@InstrellV5:/home/yangyang/GoLand-2022.3.1/bin# ./goland.sh
出现可视化go idea即下载成功
go 激活码可以在淘宝上面购买或者网上教程一大堆 贴个链接
https://developer.aliyun.com/article/1008890 实测可用
五、安装gocv
准备 go mod 文件
先创建一个文件夹
root@InstrellV5:~# mkdir gotest
在该文件夹下建立main.go文件,输入:
http://43.143.37.23:7090/mian(这里面下载下来的txt文件内容测试代码)
在该项目目录(这里是gotest文件夹)下,初始化go moudle,运行下面命令:
root@InstrellV5:~/gotest# go mod init gotest
然后gotest目录下面就会有go.mod文件
在go.mod文件里面编辑:
root@InstrellV5:~/gotest# vim go.mod
module gotest
go 1.19
require gocv.io/x/gocv v0.29.0
执行go mod tidy进行安装
root@InstrellV5:~/gotest# go mod tidy
执行 go env 查看mod安装文件地址
cd 到这个文件里面
找到 gocv.io
进入目录 gocv.io/x/gocv@v0.29.0
在目录下执行
make deps
make download
cd /tmp/opencv/opencv-4.5.3/ 进入opencv-4.5.3安装包
vim CMakeLists.txt
添加命令 include(FindIconv)
mkdir build 创建build文件
cd build 进入build文件
执行
http://43.143.37.23:7090/order(执行命令也在下载下来的txt文件里面)
apt-get update && apt-get install -y git sudo
make -j8
make install
测试
执行pkg-config --modversion opencv4出来路径即可
最后需要设置 CGO_CPPFLAGS, CGO_LDFLAGS 两个环境变量
使用pkg-config --cflags opencv4
获得
export CGO_CPPFLAGS=“-I/usr/local/include/opencv4”
使用pkg-config --libs --static opencv4
获得主要内容。然后添加上--static
这个参数。
export CGO_LDFLAGS="—static 你刚才上面命令获取的内容“
最后进入gotest目录下面
执行 go build -tags customenv --ldflags ‘-extldflags “-static”’ -v -x -a -o yangyang
//出来下面效果就即可
参考文章