Jaahas pääsin melkein loppuun kääntämisessä, mutta nyt on tullut mutkia matkaan.
Latasin täältä sorsan, jonka haluaisin kääntää:
http://sourceforge.net/project/showfiles.php?group_id=130988Kyseinen tarvitsee real-java -paketin, jonka latasin täältä:
http://sourceforge.net/project/showfiles.php?group_id=130157Käännöksestä luin README-tiedoston, jonka mukaan yritin tehdä kansiot:
Eclipseä en kuitenkaan viitsinyt ladata, koska minusta sitä ei tarvita, vaikka ohje toista sanookin.
Readme sanoo seuraavaa..
Install Java J2SE JDK >= 1.5.0
Install WTK 1 >= 1.04 (for MIDP1 version)
Install WTK 2 >= 2.2 (for MIDP2 version)
Install WTK Nokia Series 40 (for Nokia version)
Install Antenna >= 0.9.14
Install Proguard >= 3.6
Install Eclipse >= 3.2.0
...
It will probably only work in Linux.
Location:
GNU bash /bin/sh
GNU Make ${PATH}/make
GCC ${PATH}/gcc, ${PATH}/cpp
Ant ${PATH}/ant
Java J2SE JDK >= 1.5.0 ${PATH}/javac
WTK 1 == 1.04 ../../WTK104
WTK 2 == 2.2 ../../WTK2.2
WTK Nokia Series 40 == 2.2 ../../WTK104/lib/classes.zip
Antenna == 0.9.14 ../../WTK104/lib/antenna-bin-0.9.14.jar
Proguard == 3.6 ../../WTK104/lib/proguard-3.6.jar
Real.java >= 1.09 ../real-java/Real.jpp
Ant:n ja JavaSDK 1.6 asensin pakettivarastosta. Sunin sivuilta hain WTK 2.5:n. WTK Nokia Series 40:stä hain Windows-softasta classes.zip:n, joka ilmeisesti toimii, koska kyseinen tiedosto sisältää vain headereitä. Proguardin ko. version hain googlea apuna käyttäen. Realin kuten jo mainitsin hain source forgesta.
loin symboliset linkit WTK104 ja WTK2.2 osoittamaan WTK2.5:ttä.
Makefilen muunsin tämän näköiseksi, että se lähti yrittämään kääntämistä:
$ cat Makefile
SHELL = /bin/sh
VERSION = 4.00
SHORTVERSION = $(subst .,,$(VERSION))
TARGETS = midp1/Calc.jad \
midp1/target/Calc.jar \
midp2/CalcMIDP2.jad \
midp2/target/CalcMIDP2.jar \
nokia/CalcNokia.jad \
nokia/target/CalcNokia.jar \
applet/target/CalcApplet.jar
BASEURL = http://midp-calc.sf.net
WTK_1 = ../../WTK104
WTK_2 = ../../WTK2.2
WTK_N = ../../WTK104
BOOTCLASSPATH_1 = $(WTK_1)/lib/midpapi10.jar
BOOTCLASSPATH_2 = $(WTK_2)/lib/midpapi20.jar:$(WTK_2)/lib/cldcapi10.jar
BOOTCLASSPATH_N = $(WTK_N)/lib/classes.zip:$(WTK_1)/lib/midpapi10.jar
# antenna and proguard must be installed in $(WTK_1)/lib
# ANTENNA_PATH paths are relative to the midp1/midp2/nokia subdirectories
ANTENNA_PATH= ../$(WTK_1)/lib/antenna-bin-0.9.14.jar:../$(WTK_1)/lib/proguard-3.6.jar
JFLAGS = -encoding "ISO8859-1" -O
JFLAGS_1 = -bootclasspath $(BOOTCLASSPATH_1) -d . $(JFLAGS)
JFLAGS_2 = -bootclasspath $(BOOTCLASSPATH_2) -d . $(JFLAGS)
JFLAGS_N = -bootclasspath $(BOOTCLASSPATH_N) -d . $(JFLAGS)
JAVAC = javac -source 1.3 -target 1.3
...
Kääntäminen antaa seuraavia erroreita:
$ make
rm -rf midp1/target
mkdir midp1/target
javac -source 1.3 -target 1.3 -bootclasspath ../../WTK104/lib/midpapi10.jar -d . -encoding "ISO8859-1" -O -d midp1/target src/midpcalc/Calc.java src/midpcalc/CalcCanvas.java src/midpcalc/CalcEngine.java src/midpcalc/GraphCanvas.java src/midpcalc/Real.java src/midpcalc/Complex.java src/midpcalc/Matrix.java src/midpcalc/Guess.java src/midpcalc/GFont.java src/midpcalc/GFontBase.java src/midpcalc/DataStore.java src/midpcalc/SetupCanvas.java src/midpcalc/CmdDesc.java midp1/src/midpcalc/MyCanvas.java
src/midpcalc/Calc.java:3: package java.io does not exist
import java.io.DataInputStream;
^
src/midpcalc/Calc.java:4: package java.io does not exist
import java.io.DataOutputStream;
^
src/midpcalc/Calc.java:5: package java.io does not exist
import java.io.IOException;
^
src/midpcalc/Calc.java:16: cannot access java.lang.Object
class file for java.lang.Object not found
public final class Calc
^
src/midpcalc/CalcCanvas.java:3: package java.io does not exist
import java.io.DataInputStream;
^
...
src/midpcalc/CalcEngine.java:1299: cannot find symbol
symbol : class String
location: class midpcalc.CalcEngine
void setMessage(String mc, String m) {
^
src/midpcalc/CalcEngine.java:1299: cannot find symbol
symbol : class String
location: class midpcalc.CalcEngine
void setMessage(String mc, String m) {
^
src/midpcalc/CalcEngine.java:1306: cannot find symbol
symbol : class String
location: class midpcalc.CalcEngine
public String getMessage() {
^
src/midpcalc/CalcEngine.java:1312: cannot find symbol
symbol : class String
location: class midpcalc.CalcEngine
public String getMessageCaption() {
^
100 errors
make: *** [midp1/target/Calc.jar] Virhe 1
Normaalissa javassa pystyn käyttämään String-luokkaa.