Я создаю универсальный двоичный файл для OS X. Я делаю это через QT, который вызывает ld.
ld выдает ошибку при сборке для архитектуры ppc:
in ../MyPathToLib/libcrypto.a, file is universal but not does contain a(n) ppc slice for architecture ppc
Это действительно странно, потому что, когда я вызываю lipo -detailed info
на libcrypto.a, я получаю следующий вывод:
lipo libcrypto.a -detailed_info
Fat header in: libcrypto.a
fat_magic 0xcafebabe
nfat_arch 3
architecture ppc
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_ALL
offset 68
size 246
align 2^0 (1)
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 316
size 3251896
align 2^2 (4)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 3252212
size 2556576
align 2^2 (4)
Странная вещь в том, что если я собираю с помощью arch x86, все строится нормально,Я вижу, что с lipo i386 и ppc оба есть, но, видимо, ему нравится только i386.Я сам создал эту библиотеку libcrypto.a, трижды собрав OpenSSL и соединив их вместе с lipo.
Кто-нибудь знает, как она может быть универсальной, иметь раздел PPC, но не содержать PPC?ломтик (что бы это ни было)?