나는 OS X 용 유니버설 바이너리를 만들고있다. 나는 ld를 호출하는 QT를 통해이를 수행하고있다. PPC는 아키텍처 구축 할 때OS X에서 유니버설 바이너리 빌드 - ppc 슬라이스 란 무엇입니까?
LD에서 오류가 발생합니다 :
in ../MyPathToLib/libcrypto.a, file is universal but not does contain a(n) ppc slice for architecture ppc
이 정말 이상하다 내가 libcrypto.a에 lipo -detailed info
를 호출 할 때, 나는 다음과 같은 출력을 얻을 수 있기 때문에 :
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)
을 이상한 점은 아치 x86으로 빌드하면 모든 것이 잘됩니다. 나는 lipo와 함께 i386과 ppc가 거기에 있다는 것을 알지만, 분명히 i386 만 좋아합니다. libcrypto.a 라이브러리를 OpenSSL을 세 번 빌드하고 lipo와 함께 바느질하여 직접 구축했습니다.
누구나 보편적 일 수 있고, ppc 섹션이 있지만 ppc 슬라이스를 포함하지 않는 아이디어가 있습니까?
대단한 잡기, 내가 틀린 파일에 함께 lipo'd하고 lipo'd 처음이었던 일종의 오타를 만들었 음에 틀림 없다. 당신의 도움을 주셔서 감사합니다. – Nantucket
@Yuji : 확실히 좋은 캐치! 미래의 프로젝트에서 나를 도울 것입니다. – swdev