如何解决Go generate 找不到 dylib
我将 go generate 与 mock/mockgen 结合使用来生成用于测试的模拟。
我的应用程序使用 .dylib
,它包含在 dependencies/libs/my.dylib
中。这在我使用 go build
创建二进制文件时工作正常,但在我使用 go generate
时失败。我得到的错误是
mockgen -destination=some/file.go -package=mypackage path/to/package p
dyld: Library not loaded: my.dylib
Referenced from: /path/to/gomock_reflect_1234/prog.bin
Reason: image not found
prog.go:12:2: cannot find module providing package github.com/golang/mock/mockgen/model: working directory is not part of a module
prog.go:14:2: cannot find module providing package
Loading input failed: exit status 1
我通过调用 go generate
CGO_ENABLED=1 \
CGO_LDFLAGS=$(CGO_LDFLAGS) \
LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
DYLD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
go generate -v -x ./folder/...
我本来只想 change the loader path of the library,但这似乎很难,因为 prog.bin
是自动生成的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。