如何使用makefile编译iphone代码



我想使用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中设置它们。

最新更新