自己生成非官方iPhone toolchain的头文件
如果你已经搭建好非官方iPhone toolchain开发包,如果缺少某些头文件,可以用以下方法自己生成。
首先下载class-dump:
http://www.codethecode.com/projects/class-dump/
接着建立一个headers的目录。
然后使用以下代码:
- #!/usr/bin/perl
- use strict;
- my $directory = "/usr/local/share/iphone-filesystem/System/Library/Frameworks/";
- my $command = "/usr/bin/class-dump";
- opendir(DIR, $directory) || die("Cannot open directory " . $directory . "!\n");
- my @dirContents = readdir(DIR);
- closedir(DIR);
- foreach my $child (@dirContents)
- {
- if(!(($child eq ".") || ($child eq "..")))
- {
- my @fileNameParts = split(/\./, $child);
- ];
- ];
- my @args = ($command, "-H", "-A", "-s", "-S", "-o", $outputFile, $fileToDump);
- or die "system @args failed: $?"
- }
- }
将执行权限修改为755,执行即可在headers目录中找到所有的头文件了。
然后将需要使用的头文件中的
#import "NSObject.h"
替换成
#import <NSObject.h>
把需要的头文件复制到/usr/local/arm-apple-darwin/include中即可使用。
自己生成非官方iPhone toolchain的头文件的更多相关文章
- javah生成带有包名的头文件
无包名情况 多数的demo都是基于这种条件,假设在目录jni/下有一个包含native方法的文件Hello.class.进入jni/目录,直接执行javah Hello,就可以在jni/目录下生成文件 ...
- Android NDK入门实例 计算斐波那契数列一生成jni头文件
最近要用到Android NDK,调用本地代码.就学了下Android NDK,顺便与大家分享.下面以一个具体的实例计算斐波那契数列,说明如何利用Android NDK,调用本地代码.以及比较本地代码 ...
- 解决javah生成.h头文件找不到找不到android.support.v7.app.AppCompatActivity的问题
问题描写叙述: 在使用Android Studio进行JNI开发时,须要使用javah生成C或C++的头文件,可是可能会遇到: 错误: 无法訪问android.support.v7.app.AppCo ...
- Makefile目标,伪目标,头文件自动依赖
目标 即我们最终要生成的文件,make默认生成第一个目标,注意 makefile中tab和空格不是一回事,规则使用tab缩进,编辑器不要设置诸如"将tab替换为空格之类的选项",目 ...
- 关于找不到stdafx.h头文件问题
代码: #include "stdafx.h" #include "stdlib.h" char* getcharBuffer() { return " ...
- 关于找不到stdafx.h头文件问题(pass)
代码: #include "stdafx.h" #include "stdlib.h" char* getcharBuffer() { return " ...
- Android JNI开发生成.h头文件问题(转)
在JNI开发中,首先要将建立的anroid类编译成.h文件,编译用到命令javah,由于第一次用,以前对java的编译过程也不怎么了解,所以走了好多弯路,网络没有对这一步的详细介绍,这里讲一下: 通过 ...
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)
本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面.推荐第二种方式,方便快捷,随时修改随时生成 0:前提和条件: 1:u ...
- Android JNI开发生成.h头文件问题
在JNI开发中,首先要将建立的anroid类编译成.h文件,编译用到命令javah,由于第一次用,以前对java的编译过程也不怎么了解,所以走了好多弯路,网络没有对这一步的详细介绍,这里讲一下: 通过 ...
随机推荐
- localStorage.ie6.js
!window.localStorage && function() { window.localStorage = {}; var prefix = 'data-userdata' ...
- Photon引擎开发实战(1)——Photon 简介
Photon简介 Photon是一套使用广泛的socket server引擎,服务端底层C++编写,客户端C#编写,跨多平台,收费,效率可观的一款引擎.实用上前有九城游戏(原魔兽世界代理),现在笔者发 ...
- Fedora 21 设置开机启动脚本
sudo touch /etc/rc.d/rc.localsudo vim /etc/rc.d/rc.local 在/etc/rc.d/rc.local文件中写入, 然后使用:wq命令 保存并退出. ...
- jquery判断邮箱格式问题
方法一: var search_str = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/; var email_val = $("#Email").val(); ...
- [BZOJ 1036] [ZJOI2008] 树的统计Count 【Link Cut Tree】
题目链接:BZOJ - 1036 题目分析 这道题可以用树链剖分,块状树等多种方法解决,也可以使用 LCT. 修改某个点的值时,先将它 Splay 到它所在的 Splay 的根,然后修改它的值,再将它 ...
- 自己写的carousel
可以 function appendRight() { //alert("right"); lastItem = itemsRight[urls.length - ]; first ...
- SQL SELECT基本语句结构
(1)SELECT select_list (2) FROM table_list (3) WHERE search_conditions GROUP BY group_by_list ...
- 【poj2891】同余方程组
同余方程组 例题1:pku2891Strange Way to Express Integers 中国剩余定理求的同余方程组mod 的数是两两互素的.然而本题(一般情况,也包括两两互素的情况,所以中国 ...
- oracle中的一些函数笔记
replace函数 replace(最长的字符串,被替换的字符串,替换字符串) 数学函数 round(n,[m]) 保留m位总共n位长度的数,采用四舍五入的方式. trunc(n,[m])截取数字,不 ...
- 一些记录查询的SQL语句
-- ======================== 第三天 =========================== CREATE DATABASE php0408 CHARSET utf8 ;CR ...