go 代码调用第三方包正常构建报 undefined
目录
go 代码调用第三方包正常,但是构建报 undefined
问题
get, err := utils.Get(a.Url, nil, params)
if err != nil {
logs.Errorf("Get %s err:%v", a.Url, err)
return nil, err
}
utils.Get 是自定义封装的库
文件正常调用了 utils.Get,也没有报错。但是build
application\model.go:75:18: undefined: utils.Get
编译器没有提示错误,导包也是正常的,但是执行 go build 或者 go run 时缺提示 undefined
解决
这是因为导入的包中引用了 C 代码,可以打开 导入的函数所在的文件 xxx.go,Goland 工具可以看到文件顶部会有提示
'xxx.go' is ignored by the build tool because of the cgo support mismatch
大部分情况是因为 idea 自动导包导错了
方法一:
打开文件,找到 import ‘C’ ,删除即可,重新编译即可
方法二:
如果确实需要导入 C 代码,则
安装配置 cgo 的编译环境(没试过)