皆さん、
Ant と端末で Javac Cross コンパイルを少し試してみました。ローカルおよび統合環境で、非常に基本的な問題で同じ問題が発生しています。
これをLinuxターミナルで実行します(また、Windowsのcygwinとcmdでも):
javac -target 1.6 -source 1.7 -bootclasspath /usr/java/jdk1.6.0_27/jre/lib/rt.jar Main.java
System.out.println 以外の何もない Main.java を使用します。
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
しかし、クロスコンパイルが必要なので、間違っているのは何ですか?
私が得ることができるすべての助けに感謝し、前もって感謝します。