Как скомпилировать код iphone, используя makefile? - PullRequest
4 голосов
/ 23 июня 2011

Я хочу скомпилировать приложение для iPhone с помощью команды make. Но это всегда показывает ошибку

make: /opt/iphone/bin/arm-apple-darwin-gcc: No such file or directory
make: *** [src/main.o] Error 1

Вот содержимое make-файла.

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

1 Ответ

6 голосов
/ 23 июня 2011

Замените / 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/

Теперь вы увидите список компиляторов, доступных в вашей системе.Кстати, у меня нет каталога дополнений, поэтому я думаю, что это часть какого-то специального программного пакета, который вы установили.

[ Обновление ]: в XCode установлены следующие флаги:

-x target-c -arch armv7 -fmessage-length = 0 -pipe -std = c99 -Wno-trigraphs -fpascal-strings -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk -gdwarf-2 -mthumb -miphoneos-version-min =4.2

Я не очень много знаю о деталях каждого флага, но стоит попробовать установить их в CC в вашем make-файле.

...