Qt Jambi eclipse integration error on Windows 64 bits

南楼画角 提交于 2019-12-06 06:23:22

There is currently no known release of QtJambi Eclipse integration plugins that are compatible with a Windows 64bit JVM and therefore also provided as 64bit DLLs (as many parts of it are native code components).

Here is the official page to back up that claim: http://qt.nokia.com/products/eclipse-integration/

Also the QtJambi Eclipse integration source code was never released to the community in order to allow them to either maintain it or build versons for other OS and ABI (like 64bit Windows). Also the version in the page is probably most compatible with older versions of Eclipse such a Eclipse 3.4 and 3.5.

However all is not lost, it is my intention (as one of the QtJambi maintainers) to get something back working again within the next 6 months. But my current attention is on more urgent matters within the project as per our bug reporting system indicates.

...

It is not possible to mix 32bit DLLs in 64bit process address space a simple/naive way. So as a rule all EXE and DLLs have to be the same kind. Since we know that QtJambi Eclipse integration works from windows 32bit here is some information below to help you with that.

...

A Windows 64bit system is capable of running 32bit applications and also capable of having both the 64bit and 32bit JVMs installed separately (just download the appropiate JVM install EXE for each kind 32bit and 64bit and install both individually).

You then of course need to obtain the Win32 version of Eclipse and unzip/install it.

In order to get a 32bit version of Eclipse to run on a 64bit system it is necessary to manually edit the eclipse.ini file here is my example of a working eclipse.ini with the important parts of the additions highlighted (taken from eclipse-jee-indigo-win32 which is Eclipse 3.7 Indigo from http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/R/eclipse-jee-indigo-win32.zip ) :

eclipse.ini

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.platform
-vm
C:/Program Files (x86)/Java/jdk1.6.0_26/jre/bin/client/jvm.dll
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms64m
-Xmx1280m

The important changes I ensure I make to the default eclipse.exe are:

-vm
C:/Program Files (x86)/Java/jdk1.6.0_26/jre/bin/client/jvm.dll

Note you need to modify this to the path of the file that exists for your JDK that is installed, in my example I am using the Sun/Oracle JDK. So check the file actually exists in your system, this forces the 32bit JVM to be used with the 32bit version of Eclipse. I don't know why their container exe (eclipse.exe) doesn't already do this at runtime, but still.


--launcher.XXMaxPermSize
256M

Always a good idea as eclipse needs a larger than usual PermGen heap. But all versions of eclipse probably want this configuration and this doesn't affect your problem just some advise here.

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