Failed to install QT Jambi on a 64-bit Windows system

I am trying to use QT Jambi but have not yet been able to install it. First of all, this is my system:

Windows 7 Home Premium 64 bit

Java 6 32 bit (I often use JDownloader, which is incompatible with the 64-bit version of Java)

The MinGW C ++ compiler that ships with Code :: Blocks (which sets all the necessary environment variables during installation)

I also have CygWin installed, but I don’t understand why it is mentioned during the error I receive ...

My first idea was to try the 32-bit version, since I have 32-bit Java, so I linked the libraries in Eclipse, tried the classic newbie program found in the tutorial, and received this message:

java.lang.ExceptionInInitializerError at com.trolltech.qt.QtJambiObject.<clinit>(Unknown Source) Caused by: java.lang.RuntimeException: Loading library failed, progress so far: Unpacking .jar file: 'qtjambi-win32-msvc2008-4.7.1.jar' Checking Archive 'qtjambi-win32-msvc2008-4.7.1.jar' - skipping because of wrong system: trying to load: 'win32', expected: 'win64' Loading library: 'QtCore4.dll'... - using 'java.library.path' at com.trolltech.qt.internal.NativeLibraryManager.loadNativeLibrary(Unknown Source) at com.trolltech.qt.internal.NativeLibraryManager.loadQtLibrary(Unknown Source) at com.trolltech.qt.Utilities.loadQtLibrary(Unknown Source) at com.trolltech.qt.Utilities.loadQtLibrary(Unknown Source) at com.trolltech.qt.QtJambi_LibraryInitializer.<clinit>(Unknown Source) ... 1 more Caused by: java.lang.RuntimeException: Library 'QtCore4.dll' was not found in 'java.library.path'=C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C: \Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Broadcom\Broadcom 802.11\Driver;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\CodeBlocks\MinGW\bin\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\cygwin\bin;C:\Program Files\Microsoft Windows Performance Toolkit\;. at com.trolltech.qt.internal.NativeLibraryManager.loadLibrary_helper(Unknown Source) ... 6 more Exception in thread "main" 

Then, since he says that he is expecting a 64-bit system, I followed the Installation Guide and did the following steps:

1) Downloaded QTJambi source package

2) Downloaded source QT source package

3) Added "C: \ QTJambi \ QT \ qt-qt \ bin" (folder of the source QT package) to the PATH environment variable

4) Open Visual Studio 2005 Command Prompt

5) cd C: \ QTJambi \ QT \ qt-qt

6) Tried: configure -platform win64 -g ++ -D QT_JAMBI_BUILD -no-qt3support -plugin-manifestests

But this did not work, error: invalid win64-g ++ option for the platform

7) I tried configure-platform win32 -g ++ -D QT_JAMBI_BUILD -no-qt3support -plugin-manifestests

8) Digit o for open source

9) The number y to accept the license

But this will not work either, getting this error:

  Running syncqt... perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset) LANG = "IT" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Can't execute /cygdrive/c/QTJambi/QT/qt-qt/bin//syncqt syncqt failed, return code 2 

Can anybody help? Thanks in advance to anyone!

+4
source share
2 answers

This answer attempts to explain and fix the original problem (for example, how to use the QtJambi 32-bit binary distribution on a 64-bit Windows system).

skipped due to incorrect system: trying to load: 'win32', expected: 'win64'

This is a message from the QtJambi initialization code that detects a mismatch between the 32/64 bit version of the JVM and the 32/64 bits of the QtJambi implementation trying to load into the JVM instance at run time.

In your case, this is due to an attempt to use a 64-bit JVM with a 32-bit version of QtJambi. It's impossible. To fix the problem, locate and install the 32-bit JVM directly on Windows so that you have the file "C: \ Program Files (x86) \ Java \ jre6 \ bin \ java.exe" (you may have already installed it, please check )

When they are installed on a 64-bit system, look at the difference between:

 C:\>"C:\Program Files (x86)\Java\jre6\bin\java.exe" -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing) C:\>"C:\Program Files\Java\jre6\bin\java.exe" -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) 

Upper - 32-bit JVM; the bottom is a 64-bit JVM.

Now try downloading the binary version of QtJambi from your 32-bit JVM, which you must do this explicitly, since by default "java.exe" should be 64-bit on a Windows platform of 64 bits:

 "C:\Program Files (x86)\Java\jre6\bin\java.exe" -cp qtjambi-XYZjar;qtjambi-win32-msvc2008-XYZjar;myjar.jar mypackage.MyMain 

You need to fix the command line above ClassPath (-cp) to the locations of your JARs that you are trying to run, and main ().

If you are having problems starting the application due to UnsatisfiedLinkError and you are using the msvc2008 build, try installing the "Microsoft Visual C ++ 2008 Redistributable Package Service Pack 1 (x86)" http://www.microsoft.com/download/ en / details.aspx? id = 5582 (NOTE: There is also a 64-bit version of this, this link is for the 32-bit version, which is related to using 32-bit QtJambi on a 32-bit JVM if you also want 64- bit version, find the same page with "(x64)" in the heading instead of "(x86)" on the Microsoft website).

Then repeat the test.

+3
source

Qt Jambi currently also supports 64-bit compilation, but getting the right Qt is quite difficult.

There are some resources available for MinGW on the Internet. Maybe they can help you. Building 64-bit Qt 4.7 using MinGW-w64

Only the supported solution (according to Nokia) at the moment is 64-bit MSVC compilation, but AFAIK there are no such binaries distributed from Nokia, because the battery life is not allowed for free distribution. When compiling with MSVC, the correct profile for MSVC 2010 would be win32-msvc2010. A list of them can be found in the mkspecs directory.

Note that usually you do not need to specify a profile in the first place; only if there are many profiles available that you could use and you want to use them (e.g. MinGW or MSVC).

64-bit compilation with MSVC works using a 64-bit environment, according to this page .

Using Cygwin with Qt or Qt Jambi is not really suggested; use MSYS if you want a unix-like environment.

+2
source

All Articles