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

移动开发 iOS
本文介绍的是浅谈Xcode 交叉开发编程中选项,本文作为一个简单的实例为友们讲述,我们先来看内容。

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

选择开发用的OS SDK

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

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

  1. SDK=/Developer/SDKs/MacOSX10.4.0.sdk  
  2. CFLAGS= -isysroot ${SDK}  
  3. 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变量,形式如下:

  1. ENVPMACOSX_DEPLOYMENT_TARGET=10.3 

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

  1. testapp: main.o  
  2. ${ENVP} ${CC} ${LDFLAGS} -o testapp main.o  
  3. main.o:  
  4. ${ENVP} ${CC} ${CFLAGS} -c main.c -o main.o 

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

责任编辑:zhaolei 来源: 博客园
相关推荐

2011-07-07 09:20:30

Xcode

2011-06-27 10:05:11

Qt Qt4.7.0 SDK

2011-08-01 17:50:28

Xcode

2011-08-01 18:02:33

2011-07-19 16:20:06

XCode 证书 模拟器

2013-04-18 10:19:40

iOS开发Xcode调试

2022-06-27 18:30:37

FP代码编程

2011-08-01 17:31:25

Xcode开发 Cocoa

2011-08-04 17:24:12

iPhone开发 Xcode 窗口

2011-08-04 18:09:32

Xcode 技巧 文档

2011-07-06 17:53:40

iPhone SDK Xcode

2013-07-25 15:19:23

iOS开发学习Xcode打包framiOS开发

2011-07-07 17:36:13

iPhone Xcode 窗口

2011-05-11 10:39:51

XcodeiOS

2011-08-08 17:05:02

XCode UserScript 脚本

2011-08-01 11:28:15

Xcode 升级

2011-07-05 10:20:38

java

2015-06-29 14:03:07

2011-06-13 10:03:19

Qt 多线程 编程

2021-07-14 13:12:51

点赞
收藏

51CTO技术栈公众号