浅谈Xcode 交叉开发编程中选项

浅谈Xcode 交叉开发编程中选项是本文要介绍的内容,本文简单的讲述了Xcode交叉编程中的问题,我们先来看内容。

选择开发用的OS SDK

为了在makefile中选择SDK,需要在工程的编译和连接命令中加入恰当的选项,即为编译器加入-isysroot选项;为连接器加入-syslibroot选项。如果您使用GCC 4.0来编译和连接,则应该把两个选项同时加入到命令行中。

-isysroot和-syslibroot选项都要求指定您希望使用的SDK目录的全路径。最好的做法通常是创建一个makefile目录变量来指定这个路径。下面的实例显示了在一个简单的C程序中如何给makefile变量分配值:

SDK=/Developer/SDKs/MacOSX10.4.0.sdk  
CFLAGS= -isysroot ${SDK}
LDFLAGS= -isysroot ${SDK} -Wl,-syslibroot,${SDK}

 

请注意:如果您的makefile直接将LDFLAGS选项传递给ld,而不是传递给gcc,则应该将连接器的选项指定为LDFLAGS= -syslibroot ${SDK},因为ld不支持-Wl语法。

SDK的目录位于/Developer/SDKs路径下。您自己的连接器开关应自然包含程序需要的其它编译器和连接器的选项。

重要信息:GCC 4.0支持-isysroot开关,但是没有在编译器的man页面上记述,因为这个功能在将来可能会发生变化。如果这个功能被正式加入到编译器中,man页面上就会加入相应的更新信息。GCC的早期版本不支持这个开关。

选择部署OS

在makefile中设置部署目标需要使用另外一个makefile变量,形式如下:

ENVP= MACOSX_DEPLOYMENT_TARGET=10.3 

MACOSX_DEPLOYMENT_TARGET选项的值确定了您的软件需要支持的最早的目标系统版本。在前面的例子中,目标系统为10.3。在makefile中将该变量包含在您的编译和连接命令的前面,就可以了。例如,一个简单的C程序可能使用下面的连编命令:

testapp: main.o  
${ENVP} ${CC} ${LDFLAGS} -o testapp main.o
main.o:
${ENVP} ${CC} ${CFLAGS} -c main.c -o main.o

小结:关于浅谈Xcode 交叉开发编程中选项的内容介绍完了,希望本文在你学习过程中,对你有所帮助!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值