2
我正在爲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
這真是奇怪,因爲當我打電話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構建,一切都會很好。我在那裏看到了i386和ppc都在那裏,但顯然它只喜歡i386。我通過三次構建OpenSSL並將它們與lipo拼接在一起來構建libcrypto.a庫。
有沒有人有任何想法如何它可以是普遍的,有ppc部分,但不包含ppc切片(不管是什麼)?
很棒的捕獲,我一定是在第一次做錯某種錯字的時候把它們弄到一起,然後用錯誤的文件潤脣膏。謝謝你的幫助。 – Nantucket 2010-08-13 20:26:25
@Yuji:絕對是一個很棒的接觸!應該在未來的項目中幫助我 – swdev 2011-10-27 04:09:06