在iOS上编译iOS应用

用户名

因此,我已经下载了LLVM + Clang并在iPhone上设置了iOS SDK(7.0)。当我尝试编译一个名为testProj的测试项目时,该项目位于/ testProj并显示以下行:

xcrun -sdk iphoneos clang

clang -v -ObjC -arch armv7s -mios-version-min=7.0 -isysroot/private/var/iPhoneOS7.0.sdk /testProj/testProj/main.m

我收到此错误:

clang: error: unable to execute command: posix_spawn failed: No such file or directory

它完美地编译了包括UIKit.framework引用在内的main.m,并且我严重不明白此错误的含义。有人知道我在做什么错了吗?我在这里忘记了什么?

提前致谢

529

clang-llvm软件包仅包含编译器和优化器。ld我所知,它不包含链接器(),也不包含汇编器(as)。

您必须安装这些实用程序,可以在Cydia中找到其最新版本(尽管仍然是2009年构建……),也可以从Saurik的存储库中下载:odcctools_286-8_iphoneos-arm.deb


为了解决一些常见错误,以下是我想分享的更多提示:

  1. 安装这些工具后,您仍然必须进行一些修改。特别是,您必须创建符号链接(from-> to):
$(SYSROOT)/usr/lib/libgcc_s.dylib -> libgcc.dylib
                libSystem.B.dylib -> libSystem.dylib
                  libobjc.A.dylib -> libobjc.dylib

(也许为了使C ++编译正常工作,有必要进一步弄乱C ++标准库,我还没有尝试过。)

  1. 完成所有这些操作后,您将能够编译普通的可执行文件。但是,如果您愿意对MobileSubstate进行调整(因此您正在使用该-dynamiclib标志编译动态库),则会在连接器找不到定义的符号时遇到错误bundle1.o该问题的解决方案是将$(SYSROOT)/usr/lib/bundle1.o目标文件与其他目标文件一起显式链接

  2. 我不知道您在设备上工具链上的哪个版本/版本,但是我在安装中遇到了一个错误(我不再记得从软件包中获得的位置)。我认为clang / LLVM编译器的代码生成器存在问题,因为如果我在启用优化的情况下进行编译,则任何不重要的程序都会出现段错误。(这并不是我编写错误的代码,因为我尝试编译并运行信誉良好,经过良好测试的库和程序,而这些库和程序也会引发分段错误...)因此,如果您碰巧运行了此错误版本的编译器,然后远离优化。(如果没有,请告诉我您在哪里找到了更好的:P)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在iOS上编译iOS应用

来自分类Dev

iOS上的Android应用

来自分类Dev

iOS上的Android应用

来自分类Dev

Testflight不允许使用iOS 8.1 SDK编译的iOS 7.1应用安装在iOS 7.1.2 iPhone上

来自分类Dev

无法在iOS 14上运行iOS应用

来自分类Dev

将Android应用编译为iOS

来自分类Dev

什么是iOS应用的编译/生成文件?

来自分类Dev

在真实设备上使用openCV框架编译iOS应用时出错

来自分类Dev

是否可以使用各种编译器应用程序访问iOS上的文件?

来自分类Dev

在iOS上查询当前应用的应用ID

来自分类Dev

在iOS设备上启动YouTube应用

来自分类Dev

iOS应用程序上的电报

来自分类Dev

在DigitalOcean上开发iOS Meteor应用

来自分类Dev

在iOS上打开应用并关闭Safari标签

来自分类Dev

无法在设备上运行Swift iOS应用

来自分类Dev

ios 9.3.1上的phonegap应用中的iframe

来自分类Dev

无法在iOS设备上安装Ionic应用

来自分类Dev

Nativescript iOS应用未在设备上运行

来自分类Dev

在Windows上开发iOS应用的购物清单

来自分类Dev

Swift应用无法在iOS 7上运行

来自分类Dev

在macOS上运行iOS应用程序

来自分类Dev

在 iOS 上取消应用内订阅

来自分类Dev

在 Instagram 应用 iOS 上分享 videoURL

来自分类Dev

iOS 7上的JavaScriptCore框架是否使用JIT编译?

来自分类Dev

iOS 8.1上的SDWebImage奇怪的编译错误

来自分类Dev

交叉编译为静态lib(libgcrypt)以在iOS上使用

来自分类Dev

自SDK 4.4起无法在iOS上编译Aviary

来自分类Dev

iOS 8.1上的SDWebImage奇怪的编译错误

来自分类Dev

编译可在iOS 6和iOS 7中运行的应用程序