diff --git a/README.md b/README.md index e7b4a9b8..0d4c6d88 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ Finally, find all Java libraries in directory `/deployment` and You can call ant with additional properties as listed below. Therefore use the `-D` command line argument: `ant -Dkey=value all`. -* `qt` - specify comma-separated Qt versions to be used, e.g. `-Dqt="5.15,6.2"`. +* `qt` - specify comma-separated Qt versions to be used, e.g. `-Dqt="5.15,6.3"`. * `qtbase` - specify Qt installer's base directory, e.g. `-Dqtbase=/var/Qt`. Can be combined with `qt`. * `qtdir` - specify Qt version and platform directory, e.g. `-Dqtdir=/var/Qt/6.5.3/macos`. This option allows multiple directories separated by path separator. (If this option is specified `qt` and `qtbase` have no effect.) * `qmake` - specify a path to a `qmake` program to be used for building QtJambi. (If this option is specified `qt`, `qtbase` and `qtdir` have no effect.) @@ -122,6 +122,12 @@ For instance if you want to build for Linux arm: Just specify the third-platform cross-compiled qmake with `-Dqmake=path`. +If you are using Qt from Qt installer located at default installation path (e.g. `C:\Qt`) +and Android binaries are installed you can simply use the `-Dandroid=true` argument to +build Qtjambi for Android along with the platform-soecific binaries: + +`> ant -Dandroid=true all` + ## How To Use QtJambi ### Example @@ -169,10 +175,9 @@ Additionally, you need *Qt*. Use the [Qt installer](https://www.qt.io/download-q **When using Maven artifacts for Windows you need to select MSVC 2019 64-Bit (msvc2019_64), as they are not compatible with Mingw Qt.** When running a QtJambi application you have to make the locations of Qt libraries known to Java. -Therefore, use the PATH environment (LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS) -or the Java runtime property java.library.path. +Therefore, use the `PATH` environment (`LD_LIBRARY_PATH` on Linux, `DYLD_FRAMEWORK_PATH` on macOS) +or the Java runtime property `java.library.path`. By default, on Windows Qt libraries are located in `bin` directory and on Linux and macOS in `lib` directory. -In case your Linux distribution provides Qt (of correct version) as system library you don't need to specify library path. The example program can be executed this way on Windows: ``` powershell @@ -187,6 +192,10 @@ On macOS you additionally need to use the start parameter `-XstartOnFirstThread` java -cp qtjambi-6.5.4.jar:. -Djava.library.path=/Qt/6.5.3/macos/lib -XstartOnFirstThread Test ``` +On Linux of your distribution provides Qt (of correct version) as system library you don't need to specify library path at all. +However, since Maven-published binaries for Linux have been built with Qt from installer they might be incompatible to your system-specific Qt. +In this case it is recommended to build QtJambi on your Linux system by using the installed `qmake`. + If the example fails with a `UnsatisfiedLinkError` QtJambi libraries and Qt libraries seem to be incompatible. [Read here about library requirements and compatibility.](www/Modules.md) diff --git a/www/Android.md b/www/Android.md index 15f4cae9..c8a32efb 100644 --- a/www/Android.md +++ b/www/Android.md @@ -70,10 +70,10 @@ Add the following lines to the `dependencies` section (for ABI arm64-v8a): ```gradle implementation 'io.qtjambi:qtjambi:6.5.4' implementation 'io.qtjambi:qtjambi-native-android-arm64:6.5.4' - implementation files('qt-lib-core-native-android-arm64-6.5.4.jar', - 'qt-lib-core-native-android-common-6.5.4.jar', - 'qt-lib-gui-native-android-arm64-6.5.4.jar', - 'qt-lib-widgets-native-android-arm64-6.5.4.jar') + implementation files('qt-lib-core-native-android-arm64-6.5.3.jar', + 'qt-lib-core-native-android-common-6.5.3.jar', + 'qt-lib-gui-native-android-arm64-6.5.3.jar', + 'qt-lib-widgets-native-android-arm64-6.5.3.jar') ``` Exchange `android-arm64` by `android-arm` (armeabi-v7a), `android-x86` (x86) or `android-x64` (x86_64). diff --git a/www/Characteristics-of-QtJambi.md b/www/Characteristics-of-QtJambi.md index 0b62c9d5..4ae09216 100644 --- a/www/Characteristics-of-QtJambi.md +++ b/www/Characteristics-of-QtJambi.md @@ -57,7 +57,7 @@ The Java classes provide all methods of the native Qt classes with similar metho ### Primitive Types -C++ and Qt-specific primitive types are mapped to the corresponding Java primitive types: +C++ and Qt-specific primitive types are mapped to the corresponding Java primitive types. All unsigned types are used as signed Java types, as Java does not support unsigned integers. | native | java | diff --git a/www/How-to-bundle-Qt-libraries.md b/www/How-to-bundle-Qt-libraries.md index 61bc31a5..344f5a92 100644 --- a/www/How-to-bundle-Qt-libraries.md +++ b/www/How-to-bundle-Qt-libraries.md @@ -25,9 +25,9 @@ java -Djava.library.path= *QtJambi deployer* autodetects Qt installation on your computer and creates jar bundles for each of the Qt libraries along with their specific plugins. E.g. the output files for Windows look this way: -- `qt-lib-core-native-windows-x64-6.5.4.jar` -- `qt-lib-gui-native-windows-x64-6.5.4.jar` -- `qt-lib-qml-native-windows-x64-6.5.4.jar` +- `qt-lib-core-native-windows-x64-6.5.3.jar` +- `qt-lib-gui-native-windows-x64-6.5.3.jar` +- `qt-lib-qml-native-windows-x64-6.5.3.jar` - ... Place these libraries next to the **qtjambi-native-X.jar** files.