我想使用make命令编译一个iPhone应用程序。但它总是显示错误
make: /opt/iphone/bin/arm-apple-darwin-gcc: No such file or directory
make: *** [src/main.o] Error 1
以下是makefile的内容。
CC=/opt/iphone/bin/arm-apple-darwin-gcc
-isysroot /opt/iphone/addons/1.0.2/system
-isystem /opt/iphone/include
-isystem /opt/iphone/include/gcc/darwin/3.3
-F/opt/iphone/addons/1.0.2/system/System/Library/Frameworks
如何编译我的应用程序。我不熟悉unix命令。所以请一步一步地引导我。
更新
现在更改路径后出现错误。
from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOs4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:10,
from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOs4.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccelerometer.h:9,
from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOs4.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:9,
from src/main.m:23:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOs4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h: At top level:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOs4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:15: error: syntax error before ‘BOOL’
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOs4.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:16: fatal error: method definition not in @implementation context
compilation terminated.
make: *** [src/main.o] Error 1
将/opt/iphone/替换为/Developer/Platforms/iPhoneOS.platform/Developer/usr/或gcc所在的位置。如果我查看我的bin子目录,没有arm-apple-darwin-gcc,而是arm-apple-darwin10-llvm-gcc-4.2。
打开终端并键入
cd /Developer/Platforms/iPhoneOS.platform/Developer/usr
ls bin/
现在,您将看到系统上可用的编译器列表。BTW:我没有插件目录,所以我想它是你安装的一些特殊软件包的一部分。
[更新]:XCode中设置了以下标志:
-x objective-c-arch armv7-fmessage length=0-pipe-std=c99-Wno trigraph-fpascal string-O0-Wrewurn type-Wunused variable-isysroot/Developer/platform/IiPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk-gdwarf-2-mthumb-miphoneos version min=4.2
我不太了解每个标志的细节,但值得一试在你的makefile中的CC中设置它们。