Trouble installing QT Jambi on a Windows 64 bit system

浪子不回头ぞ 提交于 2019-12-01 18:20:43

This response attempts to explain and address the original problem (i.e. how to make use of the 32bit QtJambi binary distribution on a 64bit Windows system).

skipping because of wrong 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-ness of the JVM and the 32/64 bit-ness of the QtJambi implementation trying to be loaded into the JVM instance at runtime.

In your case this is due to trying to use a 64bit JVM with a 32bit version of QtJambi. This is not a possible feat. To correct the problem find and install directly the Windows 32bit JVM on your system so that you have the file "C:\Program Files (x86)\Java\jre6\bin\java.exe" (you may already have it installed, please check)

When they are both installed on a 64bit system take a 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)

The top one is the 32bit JVM; the bottom one is the 64bit JVM.

Now try loading the QtJambi binary version you have via the 32bit JVM you have to do this explicitly as the default "java.exe" should be the 64bit one on a Windows 64bit platform:

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

You need to fixup the command line above the ClassPath (-cp) to the locations of your JARs you are attempting to run and the main().

If you have problems getting the application to start due to UnsatisfiedLinkError and you are using a msvc2008 build then try installing the "Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)" http://www.microsoft.com/download/en/details.aspx?id=5582 (NOTE: There is also a 64bit version of this as well, this link is for the 32bit version which is relevant to using 32bit QtJambi on a 32bit JVM, if you also want the 64bit version search for the same page with "(x64)" in the title instead of "(x86)" on the microsoft website).

Then retry your test.

Qt Jambi nowadays supports 64 bit compilations too, but getting proper Qt is quite a bit harder.

For MinGW there is some resources available in Internet. Maybe they can help you. Building 64-bit Qt 4.7 using MinGW-w64

Only supported (by Nokia) solution at the moment is 64 bit MSVC compilations, but AFAIK there is no such binaries distributed from Nokia because runtimes are not allowed to be freely distributed. When compiling with MSVC, correct profile for MSVC 2010 would be win32-msvc2010. List of those can be found from in mkspecs directory.

Note that you don’t usually have to specify the profile in first place; only if there is many available profiles you could use and you want to use certain one (MinGW or MSVC, for example).

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!