Я пытаюсь скомпилировать свою библиотеку go для armv7s
с buildmode=c-archive
Кажется, что это не дает сбоя, однако в результате получается архив armv7
и armv7s
.
Я использую следующую настройку:
export CGO_ENABLED=1
export GOOS="darwin"
export GOARCH="arm"
export GOARM="7"
export CGO_CFLAGS="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.4.sdk -miphoneos-version-min=10.0"
export CGO_LDFLAGS="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.4.sdk -miphoneos-version-min=10.0"
И результирующий архив выглядит примерно так:
$ nm libtest.a | grep armv7
libtest.a(go.o) (for architecture armv7):
libtest.a(000000.o) (for architecture armv7s):
libtest.a(000001.o) (for architecture armv7s):
libtest.a(000002.o) (for architecture armv7s):
libtest.a(000003.o) (for architecture armv7s):
libtest.a(000004.o) (for architecture armv7s):
libtest.a(000005.o) (for architecture armv7s):
libtest.a(000006.o) (for architecture armv7s):
libtest.a(000007.o) (for architecture armv7s):
libtest.a(000008.o) (for architecture armv7s):
libtest.a(000009.o) (for architecture armv7s):
libtest.a(000010.o) (for architecture armv7s):
libtest.a(000011.o) (for architecture armv7s):
libtest.a(000012.o) (for architecture armv7s):
libtest.a(000013.o) (for architecture armv7s):
libtest.a(000014.o) (for architecture armv7s):
libtest.a(000015.o) (for architecture armv7s):
libtest.a(000016.o) (for architecture armv7s):
libtest.a(000017.o) (for architecture armv7s):
libtest.a(000018.o) (for architecture armv7s):
libtest.a(000019.o) (for architecture armv7s):
libtest.a(000020.o) (for architecture armv7s):
libtest.a(000021.o) (for architecture armv7s):
libtest.a(000022.o) (for architecture armv7s):
libtest.a(000023.o) (for architecture armv7s):
libtest.a(000024.o) (for architecture armv7s):
Обратите внимание, как объект "go.o"файл armv7
вместо armv7s
.
Я не могу найти параметр 7s
для переменной окружения GOARM
, поэтому я не уверен, что делать здесь.