如何解决为较旧的Mac OS版本构建golang应用程序的正确方法是什么?
我正在构建一个go应用,该应用在Mac OS Catalina上也使用cgo,并且希望二进制文件能够在Mac OS的早期版本上运行。
执行此操作的正确方法是什么,它在哪里记录。 我很难找到有关如何执行此操作的信息。
到目前为止,我尝试过:
-
寻求帮助
-
获得帮助c
-
转到doc cmd / cgo
-
man clang
-
搜索我的问题的各种排列
-
使用
构建CGO_CFLAGS =“-mmacosx-version-min = 10.12” CGO_LDFLAGS =“-mmacosx-version-min = 10.12”去构建-o myapp
这产生
otool -l myapp | grep -A3 MIN
cmd LC_VERSION_MIN_MACOSX
cmdsize 16
version 10.12
sdk 10.15.6
最终试图在Mojave上运行时会抱怨
该应用程序需要macOS 10.15或更高版本
解决方法
在没有正确答案的情况下,这就是我最终得到的结果:
CGO_CFLAGS="-mmacosx-version-min=10.12" CGO_LDFLAGS="-mmacosx-version-min=10.12" go build -o myapp
这确实可以在Mac 10.14上运行。
otool -l
东西(如果有的话)会使事情变得混乱,并且在这方面显然没有任何意义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。