简体   繁体   English

无法在 linux 上交叉编译 iOS 程序

[英]Unable to cross compile iOS programs on linux

I know that someone already asked this question but it isn`t up to date anymore.我知道有人已经问过这个问题,但它不再是最新的了。 Most of the links are dead and the commands are not relevant anymore.大多数链接都已失效,并且命令不再相关。

I have read these我读过这些

Compile IOS program from linux commandline 从 linux 命令行编译 IOS 程序

How to cross-compile clang/llvm for iOS? 如何为 iOS 交叉编译 clang/llvm?

For example, I have been trying to compile silversearcher-ag for my iPhone 6 (jailbroken).例如,我一直在尝试为我的 iPhone 6(越狱)编译 silversearcher-ag。 This is the project link https://github.com/ggreer/the_silver_searcher .这是项目链接https://github.com/ggreer/the_silver_searcher

I am targeting iOS 12.4.我的目标是 iOS 12.4。

These are the commands that I`ve tried这些是我尝试过的命令

./configure CC=/home/growtopiajaw/Desktop/cctools-port-master/usage_examples/ios_toolchain/target/bin/arm-apple-darwin11-clang CXX=/home/growtopiajaw/Desktop/cctools-port-master/usage_examples/ios_toolchain/target/bin/arm-apple-darwin11-clang++ --host=arm-apple-darwin11

make

I am using cctools-port to cross compile the project.我正在使用 cctools-port 交叉编译项目。 My compiled cctools toolchain is located under /home/growtopiajaw/Desktop/cctools-port-master/usage_examples/ios_toolchain/target and below is how the toolchain`s directory structure looks like我编译的 cctools 工具链位于/home/growtopiajaw/Desktop/cctools-port-master/usage_examples/ios_toolchain/target下,工具链的目录结构如下所示cctools 目录结构

This is my configure log: https://del.dog/nugibonury这是我的配置日志: https://del.dog/nugibonury

This is my make log:这是我的制作日志:

CC       src/ignore.o
In file included from src/ignore.c:11:
./src/options.h:7:10: fatal error: 'pcre.h' file not found
#include <pcre.h>
         ^~~~~~~~
1 error generated.
make: *** [Makefile:494: src/ignore.o] Error 1

This is my GitHub repository containing the cross compile toolchain https://github.com/GrowtopiaJaw/arm-apple-darwin11这是我的 GitHub 存储库,其中包含交叉编译工具链https://github.com/GrowtopiaJaw/arm-apple-darwin11

Apple does not ship PCRE. Apple 不提供 PCRE。 You need to get the headers and dylib/tbd files manually.您需要手动获取标头和 dylib/tbd 文件。

If you're using checkra1n or unc0ver, then the deb on the APT repo contains headers as well, so you could just use that.如果您使用的是 checkra1n 或 unc0ver,那么APT repo 上的 deb也包含标头,因此您可以使用它。

If you plan to package this into an APT/dpkg file, make sure to add pcre as a dependency.如果您计划将 package 放入 APT/dpkg 文件中,请确保添加pcre作为依赖项。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM