目录

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 的编译环境(没试过)

版权声明

未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!

本文原文链接: https://fiveyoboy.com/articles/go-err-import-c/

备用原文链接: https://blog.fiveyoboy.com/articles/go-err-import-c/