切换屏幕
119149阅读 | 165回复
打印 上一主题 下一主题

[APP开发] 在 iPhone 或 iPad 安装 llvm-clang, THEOS 编译程序或插件, 更新支持 iOS/AppleTVOS SDK 9.1 arm64

  [复制链接]
325主题136帖子1万人气

级别: WEIP技术组

【ipod4g 加入技术组】

帖子
136
经验
4403
精华
8
人气
15403
跳转到指定楼层
1楼 (楼主)
发表于 2012-9-21 08:33:03 |浏览量 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ipod4g 于 2017-6-30 10:00 编辑

欢迎加入iOS 开发资源共享,qun hao ma :615727308


(1) 下载 iphonedev_v6.1_iostvos9.1.tgz (
更新 theos 及支持 AppleTVOS 9.1 及 iOS 9.0x 的 64bit 机器进行编译及 armv7s编译 (支持 iOS SDK 7.1, 8.1, 9.1 的 armv7, armv7s, arm64, AppleTVOS SDK 9.1 的 arm64 及 llvm-clang 64bit), c++11 的头文件及 boost C++ library 1.58, QuantLib 1.6, googletest 1.7, 新增 Demo_appleTV (见下面 7.1测试编译), CPP_cookbook_source (见下面 8.3) 测试编译 AppleTV IPA 及 CPP 程序), 不支持 armv6 及 SDK 5.1, 6.1。 及在 arm64 64bit 机器(5s, 6, 6+, 6s, 6s+, mini2, mini3, mini4, iPadAir, iPadAir2)上 设置不同的 SDK 版本同时编译 armv7, armv7s, arm64。但 32bit 机器不能编译产生 arm64 的程序。

      并传到 iPhone 或 iPad 的 /var/root/ 下


     下载 iphonedev_v6_ios91.tgz (更新支持iOS 9.0x 的 64bit 机器进行编译及 armv7s编译 (支持 iOS SDK 7.1, 8.1, 9.1 的 armv7, armv7s, arm64 及 llvm-clang 64bit), c++11 的头文件及 boost C++ library 1.58, QuantLib 1.6, googletest 1.7, 新增 Projects/QuantLibExamples 测试编译 quantlib 及 gtest 程序), 不支持 armv6 及 SDK 5.1, 6.1。 及在 arm64 64bit 机器(5s, 6, 6+, 6s, 6s+, mini2, mini3, mini4, iPadAir, iPadAir2)上 设置不同的 SDK 版本同时编译 armv7, armv7s, arm64。但 32bit 机器不能编译产生 arm64 的程序。

     下载 iphonedev_v5.3_ios81.tgz (支持 c++11 的头文件及 boost C++ library 1.58, QuantLib 1.6, googletest 1.7, 新增 Projects/QuantLibExamples 测试编译 quantlib 及 gtest 程序)。 但 32bit 机器不能编译产生 arm64 的程序。 [注意: iphonedev_v5.3_ios81.tgz 不支持在iOS 9.0x 的 64bit 机器进行编译]

      下载 iphonedev_v5.2_ios81.tgz (支持 c++11 的头文件及 boost C++ library 1.55, 新增 Projects/FinancialProgramming 测试编译 C++11 及 boost C++ 程序)。 但 32bit 机器不能编译产生 arm64 的程序。

      下载 iphonedev_v5.1_ios81.tgz (支持 iOS SDK 5.1, 6.1, 7.1, 8.1, armv6, armv7, arm64 及 llvm-clang 64bit) 及在 armv7 32bit 机器 (iPhone 4/4s/5, iPad Mini 1, iPad 2/3/4) / arm64 64bit 机器(5s, 6, 6+, mini2, mini3, iPadAir, iPadAir2)上 设置不同的 SDK 版本同时编译 armv6, armv7, arm64。 但 32bit 机器不能编译产生 arm64 的程序。

怎么设置不同的 SDK 版本同时编译 armv7, armv7s, arm64?
使用例如  iOS SDK 7.1 编译 armv7
                 iOS SDK 7.1 编译 armv7s
                 iOS SDK 9.1 编译 arm64
请看 Projects/UICatalog/ 项目下的 Makefile
编译后便会产生通用二进制代码 (FAT Binary) 并可同时支持在 armv7,armv7s,arm64 的机器上使用



       iphonedev_v6.1_iostvos9.1.tgz (997.5M) 百度云下载:
游客,如果您要查看本帖隐藏内容请回复


      iphonedev_v6_ios91.tgz (988.7M),iphonedev_v5.3_ios81.tgz (1.06G),iphonedev_v5.2_ios81.tgz (918M),iphonedev_v5.1_ios81.tgz (884M),iphonedev_v5_ios81.tgz (884M) 百度云下载:
      

如果不是 arm64 机器,例如 iPhone 4/4s/5, iPad Mini 1, iPad 2/3/4, 请安装 iphonedev_v4_ios71.tgz
      下载  iphonedev_v4_ios71.tgz (支持 iOS SDK 6.1, 7.1, armv7, arm64 及 llvm-clang 64bit 但不能设置不同的SDK同时编译)
       iphonedev_v4_ios71.tgz (735.4M) 百度云下载:

      下载  iphonedev_v3_ios61.tgz (支持 iOS SDK 6.1 , armv7 及 llvm-clang)
      并传到 iPhone 或 iPad 的 /var/root/ 下
       iphonedev_v3_ios61.tgz (304M) 百度云下载:  


iphonedev_v6.1_iostvos9.1.tgz 包括以下软件包及其依赖包
  1. adv-cmds 119-6 finger, fingerd, last, lsvfs, md, ps * 更新
  2. apt  1:0-23 advanced packaging tool from Debian
  3. bash 4.0.44-16  Bash Shell
  4. coreutils 8.12-12p core set of Unix shell utilities from GNU
  5. curl 7.33.0-8 flexible multi-protocol file transfers
  6. gdb 1821 debugger + debugserver 300.2 for iOS
  7. git 2.2.0-4 fast content-addressable filesystem
  8. iphone-gcc 4.2-20080604-1-8p a native c compiler on the phone
  9. ldid 1:1.2.1 pseudo-codesign Mach-O files * 更新
  10. make 3.81-2p dependency-based build environments
  11. mobile substrate 0.9.6110 powerful code insertion platform
  12. com.saurik.patcyh 1.0.1 * iOS8.4 更新
  13. com.ichitaso.mobileterminal 1.0.2-2 A Terminal emulator for iOS
  14. org.coolstar.cctools 877.5  tools to work with mach-o files arm64 * 更新
  15. org.coolstar.ld64 253.3  linker for building on iOS arm64 * 更新
  16. org.coolstar.llvm-clang 3.7.1 Clang, and Compiler for iOS arm64  * 更新
  17. org.coolstar.perl 5.22.0 perl for iOS  * 更新
  18. subversion 1.4.6-2p modern version control system
  19. uikittools 1.1.11 UIKit/GraphicsServices command line access * 更新
  20. vim 7.1-4 vim with multi-byte (e.g. Unicode) support
  21. wget 1.16-4 simple HTTP file transfer client * 更新
复制代码
.


另外 python_2.7.8-1_iphoneos-arm64.deb : python_2.7.8-1_iphoneos-arm64.deb (9.9 MB ,下载次数: 390)


下载 iphonedev_v2.tgz 176M 更新支持 iPhone 5 / iPad 4)
      并传到 iPhone 或 iPad 的 /var/root/ 下
  iphonedev_v2.tgz 176M 百度云下载:  http://pan.baidu.com/share/link?shareid=391899&uk=439318384

在iPhone 5 / iPad 4 里安装 iphonedev.tgz 內的 gcc / perl 后,运行时会出现 Illegal instruction: 4
iphonedev.tgz 百度云下载: http://pan.baidu.com/share/link?shareid=62179&uk=439318384



安装演示视频 : iphonedev_v5.mp4.rar (29.92 MB ,下载次数: 9022)


.
(2)  用 ssh 登录 iPhone 或 iPad 为 root

如果曾经安装 iphone-gcc, perl … 包,请先卸载
  1. apt-get remove
  2. apt-get remove iphone-gcc odcctools
  3. apt-get remove perl net.howett.theos
  4. rm -fr /var/theos
复制代码
.
(3) 解压及安装(请确保安装所有的DEB的文档,才能保证编译时不会报错)
  1. cd /var/root/
  2. tar xzvf iphonedev_v6.1_iostvos9.1.tgz
  3. cd /var/root/iphonedev/DEBS
  4. dpkg -i *.deb
  5. cd /var/root/iphonedev/
  6. mv Projects /var/mobile/
  7. rm -fr /var/theos
  8. mv theos /var/
复制代码
.
(4) 测试编译 blocktest 及 ipadinfo
  1. cd /var/mobile/Projects/blocktest
  2. make
  3. ./obj/blocktest
  4. otool -h ./obj/blocktest

  5. cd /var/mobile/Projects/ipadinfo
  6. make clean
  7. make
  8. ./obj/ipadinfo
  9. otool -h ./obj/ipadinfo
复制代码

.

(5) 测试编译插件 IconRenamer
  1. cd /var/mobile/Projects/IconRenamer
  2. make clean
  3. make package DEBUG=0
复制代码
使用命令 dpkg -i 安装及测试 com.rpetrich.iconrenamer_1.2-1_iphoneos-arm.deb

.
(6) 测试编译 WebViewer
  1. cd /var/mobile/Projects/WebViewer
  2. make clean
  3. make ipa DEBUG=0
复制代码
安装 WebViewer_1.1.ipa 到 iPhone 或 iPad 及测试

.
(7) 测试编译 UICatalog
  1. cd /var/mobile/Projects/UICatalog
  2. make clean
  3. make ipa DEBUG=0
复制代码
安装 UICatalog_1.8.ipa 到 iPhone 或 iPad 及测试

(7.1) 测试编译 Demo_appletv (只支持在 64bit 机器编译)
  1. cd /var/mobile/Projects/Demo_appletv
  2. make ipa DEBUG=0
复制代码
使用 iOS App Signer 和签名及安装 GameUploader_tvos_1.0.ipa 到 AppleTV4 及测试
iOS App Signer (AppleTV4 教程) -> https://bbs.feng.com/read-htm-tid-10219561.html
最新iOS App Signer版本 -> https://dantheman827.github.io/ios-app-signer/
.
(8) 其他项目(编译c的小程序) :
  1. cd /var/mobile/Projects/StandardCLibrary
  2. make clean
  3. make output
  4. otool -h ./obj/teststring
  5. ./obj/teststring
复制代码
.

(8.1) (编译c++11 程序) :
  1. cd /var/mobile/Projects/FinancialProgramming
  2. make clean
  3. make
  4. otool -h ./obj/Date
  5. ./obj/Date
复制代码
.

(8.2) (编译QuantLib 程序) :
  1. cd /var/mobile/Projects/QuantLibExamples
  2. make clean
  3. make Bonds TimeValue
  4. otool -h ./obj/Bonds
  5. ./obj/Bonds
  6. ./obj/TimeValue
复制代码
.

(8.3) (编译 CPP_cookbook 程序) :
  1. cd /var/mobile/Projects/CPP_cookbook_source
  2. make clean
  3. make 14-3
  4. ./obj/14-3
  5. make all DEBUG=0
复制代码
C++ Cookbook -> CPP Cookbook.pdf (3.7 MB ,下载次数: 59)
.

(8.4) (编译 GNU wget) , 需要安装 sed, gawk 等软件包:
  1. #!/bin/sh
  2. # 下载并解压
  3. curl -OL http://ftp.gnu.org/gnu/wget/wget-1.16.3.tar.gz
  4. tar xzvf wget-1.16.3.tar.gz
  5. curl -OLk http://github.com/st3fan/ios-openssl/archive/master.zip
  6. unzip master.zip

  7. # 运行下面的脚本
  8. #!/bin/sh
  9. PREFIX_DIR="/usr/local"
  10. SDK_ROOT="/var/theos/sdks/iPhoneOS7.1.sdk"
  11. SRC_DIR="`pwd`/wget-1.16.3"
  12. OpenSSL_DIR="`pwd`/ios-openssl-master"
  13. DEST_DIR="`pwd`"
  14. DEST_DIR=$DEST_DIR/wget_package
  15. BUILD_DIR="build"

  16. export SYS_ROOT="$SDK_ROOT"
  17. export CC="clang --sysroot=$SYS_ROOT"
  18. export CXX="clang++ --sysroot=$SYS_ROOT"
  19. export CFLAGS="--sysroot=$SYS_ROOT -std=c99"
  20. export CXXFLAGS="--sysroot=$SYS_ROOT -std=c++11"
  21. export OPENSSL_CFLAGS="-I$OpenSSL_DIR/include"
  22. export OPENSSL_LIBS="-L$OpenSSL_DIR/lib -lssl -lcrypto"

  23. rm -fr $DEST_DIR
  24. mkdir -p $DEST_DIR
  25. rm -fr $BUILD_DIR
  26. mkdir -p $BUILD_DIR

  27. cd $BUILD_DIR
  28. "$SRC_DIR/configure" --build=arm-apple-darwin --host=arm-apple-darwin --prefix=$PREFIX_DIR --with-ssl=openssl

  29. make && make DESTDIR=$DEST_DIR install
复制代码
.

(9) 安装 Textastic 到 iPhone 或 iPad

iPhone 版本 ->    Textastic_iPhone_v4.2.2_ipod4g.ipa (6.97 MB ,下载次数: 215)   
iPad 版本 ->    Textastic_iPad_v4.2.2_ipod4g.ipa (5.14 MB ,下载次数: 138)

.
(10) 安装 Textastic 后, ssh 登录 iPhone 或 iPad 后
  1. # iOS9.x
  2. cd "$(dirname "$(find /var/mobile/Containers/Shared/AppGroup/*/Documents/*.textastic)")"

  3. # iOS8.x
  4. cd /var/mobile/Containers/Bundle/Application/*/Textastic.app/../Documents

  5. #iOS7 以下
  6. cd /var/mobile/Applications/*/Textastic.app/../Documents

  7. mv /var/mobile/Projects .
  8. chown -R mobile:mobile Projects
  9. ln -s $PWD/Projects /var/mobile/Projects
复制代码
.
(11) 在 iPhone 或 iPad 直接用 Textastic 修改源代码后及用 Terminal (终端) 编译

评分7

评分次数7

we券+20 经验+20 人气+34

收起
多啦果粉 + 20 + 20 + 20 2016-8-17 19:38感谢分享^_^
tempestglen + 3 2016-8-2 12:45精品文章^_^
jveryl + 5 2014-11-24 22:18真尼玛是好人
钻给美女的福气 + 1 2014-11-1 08:21感谢分享^_^
关羽青龙 + 1 2014-5-4 20:37精品文章^_^
sgcls + 3 2014-4-21 19:51非常感谢,5S是64位,之前的文章太老了,调半天都是Illegal instruction: 4....
苹果粉丝shiwen + 1 2012-9-21 08:44威锋有你更精彩:)

Signature

欢迎加入iOS 开发资源共享,qun hao ma :615727308

https://bbs.feng.com/read-htm-tid-5259660.html 在 iPhone 或 iPad 安装 iphone gcc llvm-clang, THEOS 编译程序或插件

https://bbs.feng.com/read-htm-tid-2114166.html【ipod4g出品】 修改 iPhone 游戏作弊版教程

http://db.tt/nDnLMGd

bitcoin 1GxMy4EjCjbqkqAUCj1jH4hMtLGGaKzfVh

创新很重要,但不是一切。执行力才是最关键的
37主题2673帖子566人气

级别: 金苹果

帖子
2673
经验
2840
精华
人气
566
2楼 (沙发)
发表于 2012-9-21 08:44:13 | 只看该作者
对ipod4g于2012-09-21 08:44在楼主发表的主题评分:人气:+1; (1) 下载 iphonedev.tgz 并传到 iPhone 的 /var/root/ 下 百度云下载: http://pan.baidu.com/share/link?shareid=62095&uk=439318384 (2)  用 ssh 登入 iPhone 为 root .......
威锋有你更精彩:)
0主题2帖子0人气

级别: 预转苹果-已激活-见习中

帖子
2
经验
2
精华
人气
0
3楼 (板凳)
发表于 2013-2-8 11:32:07 | 只看该作者
按照一般方法安装Textastic然后再在Documents下建立Projects的软连接的话,此时在程序里面只能阅读文档没有修改的权限,ls -l查看Projects的话是lwrx-rx--x(大概是这样),用网上的一个小引导程序后,Textastic还是没有获得修改权限,貌似还在沙盒中哎,不过打开程序的话就不是在app的Documents下了,而是到/var/mobile/Documents去了
  1. //在/var/mobile/Applications/*/Textastic.app/里把Textastic改为Textastic_ 这个编译为Textastic
  2. int main(int argc, char *argv[])
  3. {
  4. NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  5. NSString* string = [[NSBundle mainBundle] pathForResource:@"Textastic_" ofType:nil];
  6. argv[0] = (char*)[string UTF8String];
  7. execve([string UTF8String], argv, NULL);
  8. [pool release];
  9. return 0;
  10. }
复制代码
325主题136帖子1万人气

级别: WEIP技术组

【ipod4g 加入技术组】

帖子
136
经验
4403
精华
8
人气
15403
4楼 (地板)
 楼主| 发表于 2013-2-9 10:35:18 | 只看该作者
你应该在Textastic的Documents下建立文件夹
  1. cd /var/mobile/Applications/*/Textastic.app/../Documents
  2. mv /var/mobile/Projects .
  3. chown -R mobile:mobile Projects
  4. ln -s $PWD/Projects /var/mobile/Projects
复制代码

Signature

欢迎加入iOS 开发资源共享,qun hao ma :615727308

https://bbs.feng.com/read-htm-tid-5259660.html 在 iPhone 或 iPad 安装 iphone gcc llvm-clang, THEOS 编译程序或插件

https://bbs.feng.com/read-htm-tid-2114166.html【ipod4g出品】 修改 iPhone 游戏作弊版教程

http://db.tt/nDnLMGd

bitcoin 1GxMy4EjCjbqkqAUCj1jH4hMtLGGaKzfVh

创新很重要,但不是一切。执行力才是最关键的
0主题2帖子0人气

级别: 预转苹果-已激活-见习中

帖子
2
经验
2
精华
人气
0
5
发表于 2013-2-11 10:53:14 | 只看该作者
后来也是在应用里建立文件夹然后cd进去编译的,不过没想到再建立一个软连接出去 在Textastic应用的Documents下建立文件后,使用别的应用,比如Vim(App Store里居然有)也有权限修改文件了
18主题282帖子2248人气

级别: WEIP技术组

帖子
282
经验
864
精华
人气
2248
6
发表于 2014-2-3 10:50:55 | 只看该作者
这么好的帖子没人懂…………
对我这种木有 Mac 的童鞋可是有大用途了…………
谢谢 ipod4g
11主题228帖子50人气

级别: 红苹果

帖子
228
经验
239
精华
人气
50
7
发表于 2014-2-3 10:54:20 | 只看该作者
i_82 发表于 2014-2-3 10:50
这么好的帖子没人懂…………
对我这种木有 Mac 的童鞋可是有大用途了…………
谢谢 ipod4g ...

嘿。顺便去DevCenter下最新的Xcode提取7.0SDK

Signature

Stay Hungr
11主题228帖子50人气

级别: 红苹果

帖子
228
经验
239
精华
人气
50
8
发表于 2014-2-3 10:57:17 | 只看该作者
i_82 发表于 2014-2-3 10:50
这么好的帖子没人懂…………
对我这种木有 Mac 的童鞋可是有大用途了…………
谢谢 ipod4g ...

我还在以2kb/s的速度下载cctools。。。。

Signature

Stay Hungr
11主题228帖子50人气

级别: 红苹果

帖子
228
经验
239
精华
人气
50
9
发表于 2014-2-3 10:58:30 | 只看该作者
i_82 发表于 2014-2-3 10:50
这么好的帖子没人懂…………
对我这种木有 Mac 的童鞋可是有大用途了…………
谢谢 ipod4g ...

不过toolchain不开源编译不了64位。。。。哭。。。

Signature

Stay Hungr
72主题2081帖子44人气

级别: 金苹果

帖子
2081
经验
2148
精华
人气
44
10
发表于 2014-2-9 22:50:22 | 只看该作者
/var/theos/makefiles/common.mk:103: *** You did not specify a target, and the "iphone" platform does not define a default target.  Stop.
您需要登录后才可以回帖 登录 | 注册

本版积分规则