Question

I can't seem to figure out how to properly integrate Qt Jambi to eclipse. Here is what I did:

  1. I installed the version of the toolkit for Windows 64 bits;
  2. I copied the required integration plugins in {ECLIPSE_PATH}\plugins;
  3. I launched eclipse and set Qt Jambi's installation directory in the preferences;
  4. Then, when I tried to apply the new preferences, I got an error that said something about a module that couldn't be launched ({QT_JAMBI_PATH}\bin\qtdesigner.dll);
  5. After restarting eclipse, I can't find any of Qt Jambi's integration views. I can switch to Qt Designer UI perspective, but then, no new panel is appearing. Finally, .jui files are not recognized and appear as simple text files.

The DLL file qtdesigner.dll does not exist in the bin folder. I tried the same procedure using eclipse 32 bits, and Qt Jambi 32 bits, but it's not working either.

Where do you think the problem comes from?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top