当前位置:  开发笔记 > 运维 > 正文

为iPhone编译OpenSSH?

如何解决《为iPhone编译OpenSSH?》经验,为你挑选了1个好方法。

我正在尝试(交叉)为iPhone 编译混淆的openssh,我遇到了一些问题.我正在使用它来配置构建:

./configure --host=arm-apple-darwin CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1 \
CFLAGS="-arch armv6 -pipe -std=c99 -I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/include \
-L/Users/ben/iphonelib -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type \
-Wunused-variable -fmessage-length=0 -fvisibility=hidden \
-miphoneos-version-min=2.0 -gdwarf-2 -mthumb \
-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk" \
CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp \
AR=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar

但这不起作用,抱怨无法找到许多头文件,包括netinet/in_systm.hopenssl/bn.h.有没有人对如何进行构建完成有任何想法?



1> Rob Napier..:

in_systm.h不适用于iPhone.它只定义了几种类型,并且它包含的其他部分是可用的.因此,您可以将标头的Mac版本复制到构建树中并指向它.("找到in_systm.h"是找到这些东西的好方法.)

您可能会遇到更多这样的问题,但这就是如何解决的问题in_systm.h.


一般来说,您不太可能找到一步到位的解决方案.并非所有OSX API都可在iPhone上使用.将复杂的框架移植到iPhone通常很困难(尽管通常是可行的).你最好的选择是搜索"openssh iphone"并看看其他人之前是如何攻击这个问题的.大部分工作都是创建服务器(这通常意味着越狱手机).我假设你在这种情况下做客户?但是,底层移植问题应该类似.但我不能保证有任何"设置此标志并且它将起作用"的解决方案.对于像openssh这样的代码,它不太可能.
我建议您看一下移植服务器的Gus是如何做到的并将其用作您工作的基础,因为客户端和服务器端可能会有相似的代码,特别是必须解决相同的缺失网络功能.我并不是说你会找到一套简单的配置选项来使它工作.大部分工作看起来都像我的原始答案:查看代码使用的内容,找到适用于Mac的代码,看看它是否可以带来.可能需要几天的时间来完成所有工作,但你会学到很多东西.祝你好运,并为别人发布你的成功.
推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有