diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2020-11-15 18:10:52 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2020-11-15 18:10:52 +0100 |
commit | 830f9676b4568fdf5704bd94c856d97d4c35813d (patch) | |
tree | b7eb9bd9ca4fdb4c97da7b013583c87ab8f6e671 /ubuntu/lucid_automake/core/kdebindings/debian/libqt3-java-kde3.README.Debian | |
parent | 0bfe4e2db5faf194cbafe6c3fcb8f331dd32f8c5 (diff) | |
download | tde-packaging-830f9676b4568fdf5704bd94c856d97d4c35813d.tar.gz tde-packaging-830f9676b4568fdf5704bd94c856d97d4c35813d.zip |
DEB: adjusted to new 'core' folder for main packages.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'ubuntu/lucid_automake/core/kdebindings/debian/libqt3-java-kde3.README.Debian')
-rw-r--r-- | ubuntu/lucid_automake/core/kdebindings/debian/libqt3-java-kde3.README.Debian | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/ubuntu/lucid_automake/core/kdebindings/debian/libqt3-java-kde3.README.Debian b/ubuntu/lucid_automake/core/kdebindings/debian/libqt3-java-kde3.README.Debian new file mode 100644 index 000000000..ea0beb81c --- /dev/null +++ b/ubuntu/lucid_automake/core/kdebindings/debian/libqt3-java-kde3.README.Debian @@ -0,0 +1,64 @@ +Developing and using Qt based applications written in Java +========================================================== + +This document explains how to develop and use Qt based programs +written in Java. This is what the Qt java bindings from the package +libqt3-java are designed to accomplish. + +Firstly, the bindings should work with any java compiler and VM +properly implementing the JNI interface, but they have only been +tested with the GCJ compiler and GIJ interpreter from the GCC suite. +Note that the bindings are not compiled to native code, using GCJ's +unique capability to do this, they are simply compiled to .class +files, and interpreted, in the classical Java manner. + +Secondly, when compiling and running apps using the Qt Java bindings, +you need to add "/usr/share/java/qtjava.jar" to the CLASSPATH. E.g. + + export CLASSPATH="/usr/share/java/qtjava.jar:/usr/share/java:." + javac Whatever.java + java Whatever + +And, that's basically the hard part of it all. For the rest, +developing Qt Java apps is much like Qt C++ apps, except that working +with slots is easier, and compiles may be faster as well. The API +should be completely similar to the Qt C++ API, so the standard Qt +docs should translate pretty easily. There are a lot of Qt Java usage +examples in /usr/share/doc/libqt3-java/examples. + +If you're interested in developing KDE applications using Java, look +at the libkde3-java package. + + +Generating native executables +----------------------------- + +It is also possible to produce native executables with the following gcj +invocation: + + export CLASSPATH="/usr/share/java/qtjava.jar:/usr/share/java:." + gcj -fjni Somefile.java /usr/share/java/qtjava.jar --main=Somefile + LD_LIBRARY_PATH=/usr/lib/jni ./a.out + +As this will compile the full qtjava.jar into native code, the resulting +executable will be rather large. If you plan on having several of these +executables, it may be worth creating a shared qtjava library, like +this: + + gcj -fjni -shared /usr/share/java/qtjava.jar -o libqtjava-shared.so + +And then, after you put libqtjava-shared.so in /usr/lib or similar, you +can go like: + + gcj -fjni Somefile.java --main=Somefile -lqtjava-shared + LD_LIBRARY_PATH=/usr/lib/jni ./a.out + +In the future, I'll investigate the possibility of shipping the +qtjava-shared library in the Debian packages. + +Also, in order to avoid the necessity of setting the LD_LIBRARY_PATH +environment variable, the option -Djava.library.path=/usr/lib/jni can be +passed to the gcj invocation. There is, however, a bug [1] in gcj that +prevents this from working, and it's only fixed in gcj-4.0. + + [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18234 |