根据个人实践 由于windows下symbol link的问题
用winrar解压出来的文件link可能会被破坏
导致编译时某些头文件找不到
症状
复制内容到剪贴板
代码:
/usr/local/bin/arm-apple-darwin-ld: /usr/local/arm-apple-darwin/filesystem/usr/lib/libc.dylib truncated or malformed object (mach header extends past the end of the file),解决方法
参考
http://code.google.com/p/iphone-dev/wiki/Building
用此脚本
复制内容到剪贴板
代码:
#!/bin/sh
cd /usr/local/arm-apple-darwin/filesystem
if [ -s filesystem.link.fixed ]
then
echo error! the filesystem has been fixed before. this script is supposed to be run ONCE only.
else
echo fixing the iphone/itouch filesystem links, please wait ...
ln -s -f `cat etc` etc
ln -s -f `cat mach` mach
ln -s -f `cat tmp` tmp
ln -s -f `cat var` var
ln -s -f `cat Library/Logs` Library/Logs
ln -s -f `cat Library/Preferences` Library/Preferences
ln -s -f `cat private/etc/resolv.conf` private/etc/resolv.conf
ln -s -f `cat private/var/db/localtime` private/var/db/localtime
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/20801` System/Library/Frameworks/CoreTelephony.framework/Support/20801
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/20802` System/Library/Frameworks/CoreTelephony.framework/Support/20802
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/20808` System/Library/Frameworks/CoreTelephony.framework/Support/20808
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/22201` System/Library/Frameworks/CoreTelephony.framework/Support/22201
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/23402` System/Library/Frameworks/CoreTelephony.framework/Support/23402
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/23410` System/Library/Frameworks/CoreTelephony.framework/Support/23410
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/23411` System/Library/Frameworks/CoreTelephony.framework/Support/23411
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/26201` System/Library/Frameworks/CoreTelephony.framework/Support/26201
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/26206` System/Library/Frameworks/CoreTelephony.framework/Support/26206
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/310150` System/Library/Frameworks/CoreTelephony.framework/Support/310150
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/310170` System/Library/Frameworks/CoreTelephony.framework/Support/310170
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/310180` System/Library/Frameworks/CoreTelephony.framework/Support/310180
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/310380` System/Library/Frameworks/CoreTelephony.framework/Support/310380
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/310410` System/Library/Frameworks/CoreTelephony.framework/Support/310410
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/310980` System/Library/Frameworks/CoreTelephony.framework/Support/310980
ln -s -f `cat System/Library/Frameworks/CoreTelephony.framework/Support/311180` System/Library/Frameworks/CoreTelephony.framework/Support/311180
ln -s -f `cat System/Library/Frameworks/IOKit.framework/Versions/Current` System/Library/Frameworks/IOKit.framework/Versions/Current
ln -s -f `cat System/Library/Frameworks/IOKit.framework/IOKit` System/Library/Frameworks/IOKit.framework/IOKit
ln -s -f `cat System/Library/Frameworks/IOKit.framework/Resources` System/Library/Frameworks/IOKit.framework/Resources
ln -s -f `cat System/Library/Frameworks/MultitouchSupport.framework/Versions/Current` System/Library/Frameworks/MultitouchSupport.framework/Versions/Current
ln -s -f `cat System/Library/Frameworks/MultitouchSupport.framework/MultitouchSupport` System/Library/Frameworks/MultitouchSupport.framework/MultitouchSupport
ln -s -f `cat System/Library/Frameworks/MultitouchSupport.framework/Resources` System/Library/Frameworks/MultitouchSupport.framework/Resources
ln -s -f `cat System/Library/Frameworks/OfficeImport.framework/Versions/Current` System/Library/Frameworks/OfficeImport.framework/Versions/Current
ln -s -f `cat System/Library/Frameworks/OfficeImport.framework/OfficeImport` System/Library/Frameworks/OfficeImport.framework/OfficeImport
ln -s -f `cat System/Library/Frameworks/OfficeImport.framework/Resources` System/Library/Frameworks/OfficeImport.framework/Resources
ln -s -f `cat System/Library/Frameworks/System.framework/Versions/B/System` System/Library/Frameworks/System.framework/Versions/B/System
ln -s -f `cat System/Library/Frameworks/System.framework/Versions/Current` System/Library/Frameworks/System.framework/Versions/Current
ln -s -f `cat System/Library/Frameworks/System.framework/Resources` System/Library/Frameworks/System.framework/Resources
ln -s -f `cat System/Library/Frameworks/System.framework/System` System/Library/Frameworks/System.framework/System
ln -s -f `cat usr/lib/libbz2.1.0.dylib` usr/lib/libbz2.1.0.dylib
ln -s -f `cat usr/lib/libbz2.dylib` usr/lib/libbz2.dylib
ln -s -f `cat usr/lib/libc.dylib` usr/lib/libc.dylib
ln -s -f `cat usr/lib/libcharset.1.0.0.dylib` usr/lib/libcharset.1.0.0.dylib
ln -s -f `cat usr/lib/libcharset.dylib` usr/lib/libcharset.dylib
ln -s -f `cat usr/lib/libcrypto.dylib` usr/lib/libcrypto.dylib
ln -s -f `cat usr/lib/libcurses.dylib` usr/lib/libcurses.dylib
ln -s -f `cat usr/lib/libdbm.dylib` usr/lib/libdbm.dylib
ln -s -f `cat usr/lib/libdl.dylib` usr/lib/libdl.dylib
ln -s -f `cat usr/lib/libdns_sd.dylib` usr/lib/libdns_sd.dylib
ln -s -f `cat usr/lib/libedit.dylib` usr/lib/libedit.dylib
ln -s -f `cat usr/lib/libform.dylib` usr/lib/libform.dylib
ln -s -f `cat usr/lib/libiconv.2.2.0.dylib` usr/lib/libiconv.2.2.0.dylib
ln -s -f `cat usr/lib/libiconv.dylib` usr/lib/libiconv.dylib
ln -s -f `cat usr/lib/libicucore.dylib` usr/lib/libicucore.dylib
ln -s -f `cat usr/lib/libinfo.dylib` usr/lib/libinfo.dylib
ln -s -f `cat usr/lib/libIOKit.A.dylib` usr/lib/libIOKit.A.dylib
ln -s -f `cat usr/lib/libIOKit.dylib` usr/lib/libIOKit.dylib
ln -s -f `cat usr/lib/libipsec.dylib` usr/lib/libipsec.dylib
ln -s -f `cat usr/lib/libkvm.dylib` usr/lib/libkvm.dylib
ln -s -f `cat usr/lib/libm.dylib` usr/lib/libm.dylib
ln -s -f `cat usr/lib/libncurses.dylib` usr/lib/libncurses.dylib
ln -s -f `cat usr/lib/libobjc.dylib` usr/lib/libobjc.dylib
ln -s -f `cat usr/lib/libpoll.dylib` usr/lib/libpoll.dylib
ln -s -f `cat usr/lib/libpthread.dylib` usr/lib/libpthread.dylib
ln -s -f `cat usr/lib/librpcsvc.dylib` usr/lib/librpcsvc.dylib
ln -s -f `cat usr/lib/libsqlite3.0.8.6.dylib` usr/lib/libsqlite3.0.8.6.dylib
ln -s -f `cat usr/lib/libsqlite3.dylib` usr/lib/libsqlite3.dylib
ln -s -f `cat usr/lib/libssl.dylib` usr/lib/libssl.dylib
ln -s -f `cat usr/lib/libstdc++.6.dylib` usr/lib/libstdc++.6.dylib
ln -s -f `cat usr/lib/libSystem.dylib` usr/lib/libSystem.dylib
ln -s -f `cat usr/lib/libtidy.dylib` usr/lib/libtidy.dylib
ln -s -f `cat usr/lib/libxml2.dylib` usr/lib/libxml2.dylib
ln -s -f `cat usr/lib/libz.1.1.3.dylib` usr/lib/libz.1.1.3.dylib
ln -s -f `cat usr/lib/libz.1.dylib` usr/lib/libz.1.dylib
ln -s -f `cat usr/lib/libz.dylib` usr/lib/libz.dylib
echo done!
echo done! > filesystem.link.fixed
fi