假设您不想使用老旧的GCC,故意触发我的项目中的错误以便进入Xcode命令行的位置,编译时显示了以下内容:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang -x objective-c -arch armv6 -fmessage-length=0 -fdiagnostics-print-source-range-info -fdiagnostics-show-category=id -fdiagnostics-parseable-fixits -std=gnu99 -Wno-trigraphs -fpascal-strings -O0 -Wmissing-prototypes -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -DDEBUG=1 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -gdwarf-2 -mthumb "-DIBOutlet=
attribute((iboutlet))" "-DIBOutletCollection(ClassName)=
attribute((iboutletcollection(ClassName)))" "-DIBAction=void)
attribute((ibaction)" -miphoneos-version-min=3.2 -iquote [一个簿记文件] -I[一个头文件列表] -iquote [更多头文件] -I[一个包含路径] -fpch-preprocess -F[指向调试文件目录的指针] -include [我的前缀头文件] -c AppDelegate.m -o AppDelegate.o
如果您不想使用Xcode,则至少可以剪切与Interface Builder Outlet有关的内容。而在我的项目中构建armv6而不是v7可能是一个错误。
然后,进行链接:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L[适当的内容] -F[适当的内容] -filelist [一个.LinkFileList] -dead_strip -miphoneos-version-min=3.2 -framework SystemConfiguration -framework UIKit -framework Foundation -framework CoreGraphics -o [适当的内容]
.LinkedFileList文件似乎只是一个对象文件列表,每行一个。Xcode在其中放置了每个对象文件的完整路径,尽管我认为相对路径也是可以接受的。
我知道这不是一个完整的答案,但希望它有所帮助?
gcc
替换为clang
,而不需要在这里进行任何其他更改。 - Keith Smiley-include 'Foundation/Foundation.h'
作为附加的gcc参数,以避免在编译源文件时需要显式包含Foundation.h
。 - Tyler