首页 > 编程知识 正文

centos和ubuntu哪个好,windows和linux哪个好

时间:2023-05-06 18:34:30 阅读:113351 作者:320

在Linux上构建iPhoneOS3.1.2开发环境实例的操作是本文介绍的内容,开发iphone APP应用标准的环境配置基于英特尔MAC。 虽说现在Mac很便宜,但还是大部分人在使用windows和linux系统。 今天介绍在linux上构建iPhone开发系统。 这里采用最新的SDK版本3.1.2。 这次主要介绍在linux上的安装、配置方法。 windows(Cygwin )的配置请参考这里。

我的主机环境是以下:

uname-alinuxlocalhost.local domain2.6. 18-1.2798.fc6

#1smpmonoct 1614336054336020 [/pre ] EDT 2006 I 686 I 686 I 386 GNU/Linux gcc-vusingbuilt-inspecs。

target : I 386-red hat-linuxconfigoption :/configure-- prefix=/usr-- mandir=/usr/share/man [/pre ]

- info dir=/usr/share/info-- enable-shared-- enable-threads=POSIX [/pre ]

- enable-checking=release-- with-system-zlib-- enable-- _ _ cxa _ atexit [/pre ]

--disable-lib unwind-exceptions-- enable-libgcj-multi file [/pre ]

--enable-languages=c,c,objc,obj-c,java,fortran,ada--enable-java-awt=gtk[/pre]

- -禁用- dssi [/pre ]

-启用插件--with-Java-home=/usr/lib/JVM/Java-1.4.2-gcj-1.4.2.0/JRE [/pre ]

- with-CPU=generic-- host=i386-red hat-linuxthreadmodel : posixgccversion4.1. 220070626 (red hat4.1.2-2)

需要准备的:

3.1.2 restorefileiphone 1,2 _3.1.2_ 7d 11 _ restore.ipswiphone3.1.2SDK iphone _ SDK _3.1.2_ with _ 2

虽然在很多网站上有介绍,但是这里也在使用toolchain构建环境。 请参阅iphonedevonlinux。

check out toolchain $ mkdir~~/toolchain CD~~/toolchainsvncheckout [ URL ] http://iphonedevonlinux.Google code.com/SVN

. SDK,firmware文件mkdir-pfiles/firmware mv./iphone _ SDK _3.1.2_ with _ xcode _3.1.4_ _ leopard _

./files/mv./iphone 1,2 _3.1.2_ 7d 11 _ restore.ipsw./files/firmware /

更新后的toolchain支持版本3.1.2的SDK,所以大家不必再给他打补丁了。

[blockquote]

如果出现' weneedthedecryptionkeyfor 018-6028-014.dmg.'问题,请单击toolchain.sh上的

DECRYPTION_KEY_SYSTEM=$ .

替换为DECRYPTION_KEY_SYSTEM=

' A8 a 886 d 56011 d2d 98 b 190 d 0a 498 F6 fcac 719467047639 CD 601 FD 53 a4 a1d 93 c 24 E1 b2d DC6'

[/blockquote]

checkout的toolchain面向3.0版,不能直接使用,需要进行修补。

在此下载修补程序,并将其位于toolchain目录下。

路径

安装/编译

运行./toolchain.sh all后,都要安装和编译,但实际上有很多问题,所以我们还是一步一步来。

第一步没有任何问题

./toolchain.shheaders

第二步骤也顺利通过

./toolchain.shfirmware

第三步也很顺利

./toolchain.shdarwin_sources

最后一步,这一步需要注意

./toolchain.shbuild

实行最后一步

步编译gcc-4.2-iphone,在链接的时候会出现以下的错误: ld: library not found for -lc

collect2: ld returned 1 exit status  make[3]: *** [libgcc_s.dylib] error 1

....

make[2]: *** [stmp-multilib] error 2

rm gcov.pod fsf-funding.pod gfdl.pod gpl.pod cpp.pod gcc.pod

....

make[1]: *** [all-gcc] error 2  make[1]:leaving dir `/home/xxx/toolchain/toolchain/bld/gcc-4.2-iphone'  make: *** [all] error 2

解决它很简单,在toolchain目录下执行:

cp ./sdks/iPhoneOS3.1.2.sdk/usr/lib/libSystem.B.dylib [/pre]  ./toolchain/bld/gcc-4.2-iphone/gcc/libc.dylib[/pre]

接下来在执行一次 ./toolchain.sh build 就可以了。最后出现下面的画面就是成功了。

It seems like the toolchain built![/pre]

最后你可以执行 ./toolchain.sh clean 删除编译过程中的文件和 SDK 等文件,你也可以不这么做。

测试

接下来,借可以先试试 toolchain/apps/ 下面的测试代码 HelloToolchain。

编译的过程中可能出现的问题有以下几个:

1. 找不到编译器文件 arm-apple-darwin9-gcc

如果直接在HelloToolchain目录下 make。很可能提示,没有 arm-apple-darwin9-gcc 等命令。

这是因为没有设置编译器路径的原因。将下面的语句放入 /etc/profile 内(针对所有用户),

或者 .bash_profile 文件中就可以了。

exportPATH=/home/xxx/toolchain/toolchain/pre/binPATH

2. 编译过程中提示Frameworks,或头文件找不到

Classes/ClockAppDelegate.m:10:38: error:   AVFoundation/AVFoundation.h: no such file or directory  make: *** [Classes/ClockAppDelegate.o] Error 1

或者是连接的时候提示:

ld: library not found for -lobjc  collect2: ld returned 1 exit status  make: HelloWorldFirst? Error 1[/pre]

首先检查你的makefile文件是否配置好了库文件和头文件路径,比如像是以下的设置: # iPhone SDK path

IPHONESDK= /home/xxx/toolchain/toolchain/sys  include path (SDK)  INCPATH += -I"$(IPHONESDK)/usr/include"  include path (gcc)  INCPATH += -I"$(IPHONESDK)/usr/include/gcc/darwin/4.2"  CFLAGS  += $(INCPATH)   ...  LDFLAGS += -L"$(IPHONESDK)/usr/lib"  LDFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks"  LDFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFrameworks"  CFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks"  CFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFrameworks"

如果还是不行,下面有两个方法让你得到最新(3.1.2)的版本库和头文件:

方法1

在这里下载dyldcache,用scp等工具将其传送到iPhone上,然后执行:

iPhone$ ./dyldcache /System/Library/Caches/com.apple.

dyld/dyld_shared_cache_armv6

大概解压后有4GB左右的文件,请注意iPhone剩余的容量大小。

解压完毕后将 ./out 目录下的文件拷贝到linux上的./toolchain/sys/usr/lib 目录下。

方法2

如果你还没有iPhone设备,那么可以按照以下的方法由sdk文件中提取库文件。

1. 在这里下载HFSExplorer工具。(windows下使用)

2. 用HFSExplorer打开SDK文件(.dmg文件),

在Packages目录下将iPhoneSDKHeadersAndLibs.pkg文件解压到某一目录下。

然后拷贝到linux下,比如这里拷贝到/tmp下。

3. 执行以下命令,加压该数据包:

cd /tmp  xar -xf iPhoneSDKHeadersAndLibs.pkg Payload  zcat Payload | cpio -i

完成之后,在/tmp目录下会生成几个子目录,这里我们需要的是Platforms目录下的东东。

将 ./Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk 目录与skdjz目录拷贝到toolchain的sdks目录下就可以了。

cp -rp ./Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk [/pre]  /home/xxx/toolchain/sdks/

注意 toolchain/sdks/ 目录下已经有 iPhoneOS3.1.2.sdk 目录了,完整覆盖它。

通过以上修改后,刚才的 makefile 中的SDK路径需要修改一下,像是下面的样子。

#iPhone SDK pathIPHONESDK= /home/xxx/toolchain/sdks/iPhoneOS3.1.2.sdk

接下来,可以编译一下自己的程序,上机测试了。别忘了用ldid签名哦!

小结:Linux上构筑iPhoneOS3.1.2开发环境 实例操作的内容介绍完了,希望本文对你有所帮助!

【编辑推荐】

【责任编辑:jddny站 TEL:(010)68476606】

点赞 0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。