首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译Mach-o arm目标文件

编译Mach-o arm目标文件
EN

Stack Overflow用户
提问于 2013-08-12 18:53:43
回答 1查看 714关注 0票数 0

我正在尝试使用命令行将mach-o arm对象文件编译为mach-o arm可执行文件。我使用过类似下面这样的各种命令

代码语言:javascript
复制
clang -arch armv7 helloapp.o -o helloapp
clang helloapp.o -o helloapp
gcc helloapp.o -o helloapp

它们都会返回不同的错误,比如编译错误的架构或缺少必要的文件。我需要什么命令才能正确编译它??

EN

回答 1

Stack Overflow用户

发布于 2013-08-12 18:59:49

默认编译器(位于$PATH中的编译器)引用可为本地计算机编译的编译器。您需要一个知道如何创建ARM二进制文件的交叉编译器。如果你已经安装了iOS SDK的Xcode,你可以使用例如:

代码语言:javascript
复制
PATH_TO_Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc

代码语言:javascript
复制
PATH_TO_Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang

例如,在我的机器上:

代码语言:javascript
复制
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,我会得到:

代码语言:javascript
复制
test: Mach-O executable arm
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18185184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档