0

コマンドラインを使用して、mach-o arm オブジェクト ファイルを mach-o arm 実行可能ファイルにコンパイルしようとしています。これらのようなさまざまなコマンドを使用しました

clang -arch armv7 helloapp.o -o helloapp
clang helloapp.o -o helloapp
gcc helloapp.o -o helloapp

それらはすべて、間違ったアーキテクチャ用にコンパイルしている、または必要なファイルが欠落しているというさまざまなエラーを返します。これを適切にコンパイルするために必要なコマンドは何ですか??

4

1 に答える 1

0

デフォルトのコンパイラ ( にあるもの$PATH) は、ローカル マシン用にコンパイルできるものを参照します。ARM バイナリの作成方法を知っているクロスコンパイラが必要です。iOS SDK がインストールされた Xcode がある場合は、たとえば次のように使用できます。

PATH_TO_Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc

また

PATH_TO_Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang

たとえば、私のマシンでは:

ARM_GCC=~/Documents/Xcode4.6.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc
IOS_SDK=~/Documents/Xcode4.6.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk

# Compile
$ARM_GCC -arch armv7 -c test.c -o test.o
# Link
$ARM_GCC -arch armv7 -isysroot "$IOS_SDK" test.o -o test

次に実行すると、次のようfile testになります。

test: Mach-O executable arm
于 2013-08-12T10:59:49.177 に答える