作者yllan (蓝永伦)
看板MacDev
标题Re: [问题] xcode link static library
时间Fri Sep 14 11:33:47 2007
※ 引述《Blueshiva (龙野南云)》之铭言:
: ※ 引述《WalkingIce (会走路的冰块)》之铭言:
: : 在高阶语言写的东西可能看起来一样,但是经过编译、组译之後就差多了
: : 也许你抓的 library 当初在编译的时候就是以 i386 的格式
: : 而你在 release mode 里面却把它当成 ppc 来解释
: : 所以 xcode 就抱怨它看不懂了!
: : 至於这两者的格式哪里不同,我就真的不清楚了....:P
应该是这样没错,以前遇过一样的问题~
: 原po一开始有提到这个 library 是他从 source 编译出来的,所以应该不是
: i386/ppc 二进制码的问题
用 gcc compile 出 universal binary 没想像中容易喔,
很多 unix 的东西直接编都只会编出 native architecture 而已。
作法是先用 ppc arch 编一次,再用 intel arch 编一次,
最後再用 lipo 把两个黏起来。
想编 universal binary 的话,所有 dependency 都要有 ub...
所以原 po 改成用 intel arch 以後就可以编了,因为他的 .a 只有 x86..
: : 我以为只要找不到 function 就会中止 link 耶....
: : 我猜 xcode 还是可以调整这个选项吧?!
: : function call 就是一个 JMP 的动作
: : 因为找不到 function 的 address,也不知道要跳到哪里去,所以就挂掉了:P
: 我在猜,这可能是 Xcode zero-link 这个功能引发的问题...
这是回答原 po 後半段的问题吧~应该就是这样~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.3