首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法构建J2ObjC

无法构建J2ObjC
EN

Stack Overflow用户
提问于 2020-12-15 20:13:33
回答 1查看 218关注 0票数 0

我已经满足了在mac上安装j2objc的要求,如下所示:

代码语言:javascript
复制
Apple macOC Catalina Version 10.15.7
Xcode Version 12.2 (12B45b)
JDK 1.8 installed - JAVA_HOME=`/usr/libexec/java_home -v 1.8`
JDK 11 installed
/Users/userName/Downloads/apache-maven-3.6.3" installed
Xcode command line tools installed
J2OBJC_HOME=/Users/userName/J2objc
J2ObjC project successfully cloned
libprotoc 3.14.0 installed

在终端I cd to j2objc目录中,运行make dist。这个过程似乎是永无止境的,事实上,我已经注意到编译命令被重复了很多次。我让它运行了将近一个小时,但它从来没有结束过。同样,当运行其他make命令时,结果也是相同的。

我尝试过用下面的命令编译一个文本java对象:

代码语言:javascript
复制
$ j2objc javaTest.java
and this results in the following error message:
Exception in thread "main" com.sun.tools.javac.util.FatalError: Fatal Error: Unable to find package java.lang in classpath or bootclasspath

我还尝试在Xcode中打开并运行HelloSwift应用程序,但是尽管它编译成功,模拟器并没有启动。我确实按照说明中的说明指定了J2OBJC_ARCHS。

我猜我漏掉了什么,或者没有理解说明。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-12-15 23:52:37

完整的j2objc构建可能需要一个多小时,因为Java Runtime Environement (JRE)和Guava库都非常大。它的构建看起来像是在重复自己,因为每个翻译后的源文件都需要为特定的体系结构单独编译,目前每种苹果硬件和CPU类型的组合都需要11个。

make命令按顺序运行命令,但是因为所有Mac系统都有多核处理器,所以使用-j标志指定要使用的并发构建任务的数量时,构建速度会快得多。我的Macbook Pro有六个内核,所以用make -j6运行构建将在几乎六分之一的时间内构建它。

下一个最大的构建速度改进是指定您提到的J2OBJC_ARCHS的子集;my ~/.bashrc中的设置是export J2OBJC_ARCHS="macosx simulator64" (如果您通常开发iOS设备,请将其arch添加到该列表中)。archs j2objc构建列表是created here,在上一个j2objc版本之后添加了macosx64 (macOS ARM)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65305636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档