用于iPhone 3.1.2的dylib太短,错误的cputype / cpusubtype

时间:2010-02-16 04:53:08

标签: iphone dynamic loading dylib iphone-sdk-3.1.2

我一直在尝试编译一个dylib用于一个小的原型实验但是dlopen()说我的dylib是Mach-O但文件太短了。它应该用东西填充吗?

我有最新的一切,所以这应该不是问题。

当我尝试将i386和armv6 arch合并在一起时,lipo吐出了这个:

lipo:文件(libTest.A.armv6.dylib)指定的体系结构类型(armv6)与它的cputype(7)和cpusubtype(3)(应该是cputype(12)和cpusubtype(6))不匹配

Any thoughts?

1 个答案:

答案 0 :(得分:0)

请参阅/usr/include/mach/machine.h,其中(特别是)包含

#define CPU_TYPE_X86        ((cpu_type_t) 7)
#define CPU_SUBTYPE_I386_ALL            CPU_SUBTYPE_INTEL(3, 0)

这表明libTest.A.armv6.dylib实际上是一个i386库。