c 编译器在iOS7或iPhone5S上编译C++

在iOS 7或iPhone 5S上编译C++
   各位编程极客可能发现,在有已经越狱的iOS7或者iPhone5S上编译C++程序时,按照以前的教程进行操作会出现各种问题。    您的设备必须已经越狱。GCC/G++可能会出现以下问题:   fatalerror:\'iostream\'filenotfound   std::coutisnotdefined   Illegealinstruction:4      (有的sed-i打补丁之后仍出错)   ld:unknown/unsupportedarchitecturenamefor:-archarmClang++还可能出现以下问题:   librarynotfoundfor-lstdc++   filenotfound:/usr/lib/system/libcache.dylibforarchitecturearmv7   这些问题出现的原因一是iOS7的dylib变化比较大,二是iPhone5S采用了64位CPU。以下是解决的方法。      这里分4点。一、下载合适版本的Clang、GCC      这里推荐大家去另一个帖子下载整套iPhone编译环境。这个环境里面的配置在iOS7和iPhone5S上面还是不会出现任何问题的。最大的好处就是再也不会出现Illegealinstruction:4问题了。      详见http://bbs.weiphone.com/forum.php?mod=viewthread&tid=5259660&extra=page%3D&page=1&mobile=no      但是这个帖子下到的文件只能提供编译环境,不含有iOS7的头文件或者链接库文件。        注意:你还需要执行以下命令:   mvtheos/var/cd/var/theos/makefiles/targetsln-sDarwin-armDarwin-arm64cd/var/theos/makefiles/platformln-sDarwin-armDarwin-arm64killallSpringBoard   二、导入iOS7的头文件和链接库      这个时候如果把别的旧帖子上的C++头文件等导入手机,使用GCC编译C文件就应该已经没有问题了,但是就是不能编译C++文件。      所以我们需要得到最新的iOS7版本的这些文件。      由于Apple平台上的头文件和链接库文件是受到法律保护的,这里我不能提供下载链接。大家需要自己安装MacOS和Xcode,并提取相应文件。而且,如果只需要提取文件的话,大家不需要搞驱动神马的,连显卡都不用哦~      具体的教程,Google一下你就知道。这里我提一下最需要提取的目录:      /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/      其实最好还是把整个/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/都提取出来,万一以后发现有用呢?三、到了这里,其实事情开始显而易见了……      首先我们试着给GCC/G++指定头文件、库文件目录,但是发现GCC/G++在链接的时候会报错:      ld:unknown/unsupportedarchitecturenamefor:-archarm      而且,这种错误用各种修补方法都难以避免。另外,Clang在Apple平台上本身就比GCC/G++更猛。所以我们干脆放弃GCC/G++,转战Clang++。      然后就是根据Clang++的报错,探索Clang++需要的文件在哪里的过程,相信各位用find可以轻松的找到需要引用的目录。      最后,应该执行的命令如下:yuzhongzhide-iPhone:/var/mobile/MkIPA/test-cpproot#clang++a.cpp-I/var/sdk/v7-include/c++/4.2.1/-L/var/sdk/v7-lib/-L/var/sdk/v7-lib/system/yuzhongzhide-iPhone:/var/mobile/MkIPA/test-cpproot#./a.outHello!yuzhongzhide-iPhone:/var/mobile/MkIPA/test-cpproot#cata.cpp#includeusingnamespacestd;intmain(){   cout

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/80wVYV7rzk.html

(0)

可能喜欢

相关推荐