Как я определяю целевую архитектуру статической библиотеки (.a) на Mac OS X?

В Вашем проводнике пакетов, выпадающем меню и избранные "Фильтры... ". Можно скорректировать то, какие типы файлов показаны/скрыты там.

Рассмотрение моего Developer Studio Red Hat (приблизительно Eclipse 3.2), я вижу, что главный объект в списке является".* ресурсами", и это исключено по умолчанию.

123
задан Paulo Mattos 30 July 2019 в 10:08
поделиться

3 ответа

Другой вариант - липо ; его вывод краток и более читабелен, чем вывод otool .

Пример:

% lipo -info /usr/lib/libiodbc.a 
Architectures in the fat file: /usr/lib/libiodbc.a are: x86_64 i386 ppc
% lipo -info libnonfatarchive.a
input file libnonfatarchive.a is not a fat file
Non-fat file: libnonfatarchive.a is architecture: i386
%
235
ответ дан 24 November 2019 в 01:11
поделиться

файл , вероятно, расскажет вам. otool , безусловно, должен уметь. Но сначала я бы попробовал файл , например,

logan:/Users/logan% file d2
d2: Mach-O executable ppc

Пример с архивом:

logan:/Users/logan% file /usr/lib/libMallocDebug.a
/usr/lib/libMallocDebug.a: Mach-O universal binary with 2 architectures
/usr/lib/libMallocDebug.a (for architecture i386):      current ar archive random library
/usr/lib/libMallocDebug.a (for architecture ppc):       current ar archive
67
ответ дан 24 November 2019 в 01:11
поделиться

Как упоминалось ранее, файл не всегда работает. otool -hv -arch all, пожалуй, самая близкая вещь, которая гарантированно работает - она дает архитектурную информацию для каждого объектного файла библиотеки.

Пример:

% otool -hv /sw/lib/libfftw3.a
Archive : /sw/lib/libfftw3.a
/sw/lib/libfftw3.a(align.o):
Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64  X86_64        ALL  0x00      OBJECT     3        336 SUBSECTIONS_VIA_SYMBOLS
/sw/lib/libfftw3.a(alloc.o):
Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
MH_MAGIC_64  X86_64        ALL  0x00      OBJECT     3        416 SUBSECTIONS_VIA_SYMBOLS
...
53
ответ дан 24 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: