Windows用vscode编译go-face,遇到的几个问题:

1、按照github go-face大佬的教程,

按照要求,配置了dblib环境,我的环境变量里也配了:

go get go-face源码到GOPATH/src/github.com/Kagami/goface

vscode中新建main.go,将test代码粘贴到main.go中,

go run main.go,运行的时候报错了:

1)找不到标识符

这个问题,属于cgo的环境配置问题,只需要在环境变量里,把cgo环境enable打开就好了。

go env -w CGO_ENABLED=1,

2)ld.exe 链接库找不到的问题

本以为找不到标识符的问题解决了,就能正常编译通过了,如下的这个问题更是让我头大,

为什么要依赖这几个库?最开始以为gcc环境有问题,走了很多弯路,都没解决,静下心来看go-face代码,发现在cgo编译的时候,是有加这个依赖的,代码在下面截图:最上面哪一行cgo CFLAGS:是我加的,没什么用,纯粹测试。主要就是cgo LDFLAGS 里面的-lblas,-lcblas

-llapack,这里面依赖了这几个库

我face.go源码里去掉这几个库,编译会报错:

那是不是这几个库没安装上呢,想到这,就应该想到MSYS了,快去查看pacman的命令。查询安装module的命令,pacman -Ss +module name就能查到相关的安装包,

我先查的是blas,发现相关的就一个openblas,适配windows的系统以及描述的内容还算接近,先安装他,试试

如果走到这一步,你尝试过了,就会发现,go run main.go还是没用,依旧是找不到链接库,有点崩溃了,不知道怎么解决了,荒废了半天+1亿脑细胞,

我又试着查找了一下lapack的包,

这里面的lapack很周正,可以直接安装它

再回到vscode,去执行go run main.go的时候,你就会发现,能正常编译通过了!!!

有几个注意的地方:

1)cgo,这个项目是go依赖的c++,看他的代码有import C,所以就要把CGO的开关打开

2)环境配置,我查了好久的资料都没找到相关的问题,可能大家都是在linux上编译的吧,还是要针对报错去定位问题。

希望能帮助到遇到同类错误的朋友。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值