Я создал несколько статических библиотек для ARM7 с помощью cMake. Обычно, когда вы используете следующую команду для файла .a, она показывает архитектуры:
f.e.
mac:libs User$ file ./libcurl.a
./libcurl.a: Mach-O universal binary with 3 architectures
./libcurl.a (for architecture armv6): current ar archive random library
./libcurl.a (for architecture armv7): current ar archive random library
./libcurl.a (for architecture i386): current ar archive random library
or f.e.
mac:libs User$ otool -vf ./libboost_regex.a
Fat headers
fat_magic FAT_MAGIC
nfat_arch 3
architecture armv6
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V6
capabilities 0x0
offset 68
size 9550024
align 2^2 (4)
architecture armv7
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7
capabilities 0x0
offset 9550092
size 9390544
align 2^2 (4)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
capabilities 0x0
offset 18940636
size 9595040
align 2^2 (4)
но теперь, когда я создаю свою библиотеку, «otool» и «file» не могут показать ее архитектуру.
mac:libs User$ otool -vf ./mylib_meta.a
Archive : ./mylib_meta.a
Что это значит? Какие ошибки я могу сделать при создании моей библиотеки?
Обновление: Игорь, спасибо!
Я извлек объектный файл с помощью команд:
ar -t mylib.a
ar -xv mylib.a myobj.o
-t показывает список двоичных файлов
-xv извлекает конкретный двоичный файл