如果你已经搭建好非官方iPhone toolchain开发包,如果缺少某些头文件,可以用以下方法自己生成。

首先下载class-dump:

http://www.codethecode.com/projects/class-dump/

接着建立一个headers的目录。

然后使用以下代码:

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. my $directory = "/usr/local/share/iphone-filesystem/System/Library/Frameworks/";
  6. my $command = "/usr/bin/class-dump";
  7.  
  8. opendir(DIR, $directory) || die("Cannot open directory " . $directory . "!\n");
  9. my @dirContents = readdir(DIR);
  10. closedir(DIR);
  11.  
  12. foreach my $child (@dirContents)
  13. {
  14.         if(!(($child eq ".") || ($child eq "..")))
  15.     {
  16.                 my @fileNameParts = split(/\./, $child);
  17.                 ];
  18.                 ];
  19.                 my @args = ($command, "-H", "-A", "-s", "-S", "-o", $outputFile, $fileToDump);
  20.                  or die "system @args failed: $?"
  21.     }
  22. }

将执行权限修改为755,执行即可在headers目录中找到所有的头文件了。

然后将需要使用的头文件中的

#import "NSObject.h"

替换成

#import <NSObject.h>

把需要的头文件复制到/usr/local/arm-apple-darwin/include中即可使用。

自己生成非官方iPhone toolchain的头文件的更多相关文章

  1. javah生成带有包名的头文件

    无包名情况 多数的demo都是基于这种条件,假设在目录jni/下有一个包含native方法的文件Hello.class.进入jni/目录,直接执行javah Hello,就可以在jni/目录下生成文件 ...

  2. Android NDK入门实例 计算斐波那契数列一生成jni头文件

    最近要用到Android NDK,调用本地代码.就学了下Android NDK,顺便与大家分享.下面以一个具体的实例计算斐波那契数列,说明如何利用Android NDK,调用本地代码.以及比较本地代码 ...

  3. 解决javah生成.h头文件找不到找不到android.support.v7.app.AppCompatActivity的问题

    问题描写叙述: 在使用Android Studio进行JNI开发时,须要使用javah生成C或C++的头文件,可是可能会遇到: 错误: 无法訪问android.support.v7.app.AppCo ...

  4. Makefile目标,伪目标,头文件自动依赖

    目标 即我们最终要生成的文件,make默认生成第一个目标,注意 makefile中tab和空格不是一回事,规则使用tab缩进,编辑器不要设置诸如"将tab替换为空格之类的选项",目 ...

  5. 关于找不到stdafx.h头文件问题

    代码: #include "stdafx.h" #include "stdlib.h" char* getcharBuffer() { return " ...

  6. 关于找不到stdafx.h头文件问题(pass)

    代码: #include "stdafx.h" #include "stdlib.h" char* getcharBuffer() { return " ...

  7. Android JNI开发生成.h头文件问题(转)

    在JNI开发中,首先要将建立的anroid类编译成.h文件,编译用到命令javah,由于第一次用,以前对java的编译过程也不怎么了解,所以走了好多弯路,网络没有对这一步的详细介绍,这里讲一下: 通过 ...

  8. ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)

    本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面.推荐第二种方式,方便快捷,随时修改随时生成 0:前提和条件: 1:u ...

  9. Android JNI开发生成.h头文件问题

    在JNI开发中,首先要将建立的anroid类编译成.h文件,编译用到命令javah,由于第一次用,以前对java的编译过程也不怎么了解,所以走了好多弯路,网络没有对这一步的详细介绍,这里讲一下: 通过 ...

随机推荐

  1. Object-C Init

    上一篇为Object-C类实现 我们可以创建一个init方法用来给我们的实例变量设置初始化值: - (id)init { if(self = [super init]) { [self setCapt ...

  2. WPF常用控件应用demo

    WPF常用控件应用demo 一.Demo 1.Demo截图如下: 2.demo实现过程 总体布局:因放大缩小窗体,控件很根据空间是否足够改变布局,故用WrapPanel布局. <ScrollVi ...

  3. WCF 无法生成 client

    在MVC中调用WCF 总是没有client 后来在网上查找原因,去掉Reuse type in referrenced assenbiles ,就可以生成代理代码.

  4. 将CString(unicode)转换为char*(ANSI)

    1.将CString(unicode)转换为char*(ANSI) CString strServIP; pChat->GetDlgItemText(IDC_IP,strServIP); ] = ...

  5. 设计模式之 Singleton 单例模式

    先上两段代码,区别仅在于是否涉及线程安全. 首先是不涉及多线程的单例: public class Singleton { private final static Singleton INSTANCE ...

  6. jquery text--val--html

    .html()用为读取和修改元素的HTML标签    对应js中的innerHTML .html()是用来读取元素的HTML内容(包括其Html标签),.html()方法使用在多个元素上时,只读取第一 ...

  7. struts2 package元素

    <package../>元素         name         必选    包名         extends     可选    继承         namespace    ...

  8. AS3的数据类型和定义

    AS3的数据类型分: 基元数据类型:Boolean  int(整数)  Number(长的浮点数)  unit(很大的正整数)  String 复杂数据类型:Arrary  Date  Error   ...

  9. Android Camera拍照 压缩

    http://www.linuxidc.com/Linux/2014-12/110924.htm package com.klp.demo_025; import java.io.ByteArrayI ...

  10. 一张图看懂DNS域名解析全过程

    DNS域名解析是互联网上非常重要的一项服务,上网冲浪(还有人在用这个词吗?)伴随着大量DNS服务来支撑,而对于网站运营来说,DNS域名解析的稳定可靠,意味着更多用户的喜欢,更好的SEO效果和更大的访问 ...