所以伙计们,
我试图玩一点Javac交叉编译与蚂蚁和终端。本地和集成环境,我有同样的问题,非常基本的问题。
我在linux终端(以及windows和cmd上的cygwin)上运行此命令:
javac -target 1.6 -source 1.7 -bootclasspath /usr/java/jdk1.6.0_27/jre/lib/rt.jar Main.java
Main.java只有System.out.println.
javac -version ==> javac 1.7.0_11
我收到了错误信息:
javac: source release 1.7 requires target release 1.7
我在本地windows计算机上的配置大致相同,结果完全相同。
我的理解是,交叉编译就是使用更高版本的jdk编译一些与更高版本的jdk兼容的源代码,但传递目标版本的rt.jar,而目标版本应该更低。
如果目标和源是相同的,它就起作用了。
target=1.7 and source=1.7 workd fine
target=1.6 and source=1.6 worked just fine
但我想要交叉编译,那么我做错了什么呢?
我感谢所有能得到的帮助,并提前表示感谢。
这是javac中的一个限制。请注意,在较旧版本的javac中,只需指定“-target”(而不是-source)即可。你也许还能。
您可能想考虑使用Eclipse java编译器(ECJ)作为独立编译器,作为Maven插件,并且它也可以被Ant脚本中的Javac任务使用。
看见http://help.eclipse.org/indigo/topic/org.eclipse.jdt.doc.user/tasks/task-using_batch_compiler.htm详细信息。
您不能有较新版本的源和较低版本的目标。例如,在Java 5中,许多新特性被添加到语言中,比如泛型、自动装箱,你不能指望JVM 1.4理解它。因此,您必须告诉编译器您的源代码是Java1.4源代码。这就解释了你得到的结果。
-target的默认值取决于-source的值:
有关更多信息,请参阅http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html
问题内容: 各位 我正在尝试在Ant和终端上玩Javac Cross编译。在本地和集成环境中,我在一个非常基本的问题上遇到了同样的问题。 我在linux终端(以及在Windows和cmd的cygwin上)上运行此命令: 与Main.java一起使用,仅是System.out.println。 我收到错误消息: 我在本地Windows机器上的配置大致相同,结果完全相同。 我的理解是,交叉编译就是使用
我已经在Mac OS X上安装了JDK 1.8.0_25。当尝试编译Java8源代码时,它会抱怨: 编辑3:正如@dan所建议的,是否所有javac都是指向单个javac的符号链接?不,原来没有符号链接:
我试图交叉编译一个linux系统的简单hello world程序。 我有以下资料: null 我试图运行/lib/libc.so.0来获取版本信息,但出现了一个分段错误。它似乎用-static编译解决了这个问题。所以我想这是libc库的问题。谢谢你的帮助。
问题内容: 我创建了一个交叉编译的arm可执行文件。我想找到可执行文件的库依赖项。我正在使用ubuntu natty并安装了不包含ldd的arm-linux- gnueabi工具链。有没有可用的工具来查看Linux中arm可执行文件库的依赖性。 问题答案: 这有点儿混乱,但这是我能找到的最好的解决方案,对于基本用途它确实很好用-只需使用其他交叉工具将此脚本另存为“ arm-none-linux-g
我在、Visual C++和交叉编译器的帮助下为构建项目。它运行良好,但如何处理情况时,我需要链接到库?我是否应该用当前的交叉编译器构建所有必需的库?例如如何处理库?
本文档说明如何在kali linux上配置ARM交叉编译环境,是我们多份关于”定制ARM镜像”的文档的起点. 开发机的配置 编译内核生成镜象通常需要大量硬盘空间.确保你的开发机至少有50G可用硬盘空间以及足够的内存,CPU不要太差. 安装依赖 先安装ARM交叉编译所需的依赖. apt-get install git-core gnupg flex bison gperf libesd0-dev b