我需要在 Windows 上从这段代码编译 Java 应用程序:
http://www.falstad.com/vector3dm/base.java
提到的评论
// this file must be run through cpp with one of BUILD_E, BUILD_V,
// BUILD_M defined before compiling with java compiler. This was done
// to reduce class file sizes.
我不知道这意味着什么。cpp 代表 C++ 编译器吗?如何在这个 java 代码上运行它?我在代码中看到了一些#define 语句。作为 Java 代码,我希望“javac base.java”能够正常工作
有人可以解释一下我需要做什么才能编译代码。
谢谢你。
编辑:
@艾哈迈德·马索德:
我从 annarres 网站下载 anarres-cpp-bin-1.2.6.tar.gz 并提取到我的 JDK 目录中。这是我现在拥有的:
C:\Program Files\Java\jre6\bin\base.java
C:\Program Files\Java\jre6\lib\anarres-cpp.jar
C:\Program Files\Java\jre6\lib\gnu.getopt.jar
运行您指示的命令时
java -Xmx128M -cp lib/anarres-cpp.jar:lib/gnu.getopt.jar org.anarres.cpp.Main -o base-e.java -DBUILD_E base.java
这就是我得到的:
线程“main”中的异常 java.lang.NoClassDefFoundError: org/anarres/cpp/Main 原因:java.lang.ClassNotFoundException: org.anarres.cpp.Main at java.net.URLClassLoader$1.run(Unknown Source) at java .security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java .lang.ClassLoader.loadClass(Unknown Source) 找不到主类:org.anarres.cpp.Main。程序将会退出。
看起来它找不到'org.anarres.cpp.Main'