Windows 64 位上的 Qt Jambi eclipse 集成错误

Posted

技术标签:

【中文标题】Windows 64 位上的 Qt Jambi eclipse 集成错误【英文标题】:Qt Jambi eclipse integration error on Windows 64 bits 【发布时间】:2011-09-26 12:00:46 【问题描述】:

我似乎无法弄清楚如何将 Qt Jambi 正确集成到 Eclipse。这是我所做的:

    我安装了适用于 Windows 64 位的工具包版本; 我在ECLIPSE_PATH\plugins复制了所需的集成插件; 我启动了 eclipse 并在首选项中设置了 Qt Jambi 的安装目录; 然后,当我尝试应用新首选项时,我收到一条错误消息,提示无法启动模块 (QT_JAMBI_PATH\bin\qtdesigner.dll); 重新启动 eclipse 后,我找不到任何 Qt Jambi 的集成视图。我可以切换到Qt Designer UI 透视图,但是没有新面板出现。最后,.jui 文件无法识别并显示为简单的文本文件。

bin 文件夹中不存在 DLL 文件 qtdesigner.dll。我使用 eclipse 32 位和 Qt Jambi 32 位尝试了相同的过程,但它也不起作用。

你认为问题出在哪里?

【问题讨论】:

【参考方案1】:

目前尚无与 Windows 64 位 JVM 兼容的 QtJambi Eclipse 集成插件的已知版本,因此也以 64 位 DLL 的形式提供(因为其中许多部分是本机代码组件)。

这里是支持该声明的官方页面:http://qt.nokia.com/products/eclipse-integration/

此外,QtJambi Eclipse 集成源代码从未向社区发布,以允许他们维护它或为其他操作系统和 ABI(如 64 位 Windows)构建版本。此外,页面中的版本可能与 Eclipse 3.4 和 3.5 等旧版本的 Eclipse 最兼容。

然而一切都没有丢失,我打算(作为 QtJambi 维护者之一)在接下来的 6 个月内让某些东西恢复工作。但根据我们的错误报告系统,我目前的注意力集中在项目中更紧迫的问题上。

...

不可能以简单/幼稚的方式在 64 位进程地址空间中混合 32 位 DLL。因此,作为一项规则,所有的 EXE 和 DLL 都必须是同一种。由于我们知道 QtJambi Eclipse 集成可以在 windows 32 位上运行,因此下面的一些信息可以帮助您。

...

Windows 64 位系统能够运行 32 位应用程序,也能够单独安装 64 位和 32 位 JVM(只需为每种 32 位和 64 位下载适当的 JVM 安装 EXE 并单独安装)。

那么你当然需要获取 Eclipse 的 Win32 版本并解压/安装它。

为了让 Eclipse 的 32 位版本在 64 位系统上运行,有必要手动编辑 eclipse.ini 文件这是我的工作 eclipse.ini 示例,其中突出显示了添加的重要部分(取自eclipse-jee-indigo-win32 是 Eclipse 3.7 Indigo 来自 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

我确保对默认 eclipse.exe 所做的重要更改是:

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

请注意,您需要将其修改为已安装 JDK 的文件路径,在我的示例中,我使用的是 Sun/Oracle JDK。因此,请检查该文件是否确实存在于您的系统中,这会强制 32 位 JVM 与 32 位版本的 Eclipse 一起使用。我不知道为什么他们的容器 exe (eclipse.exe) 在运行时还没有这样做,但仍然这样做。

--launcher.XXMaxPermSize 256M

总是一个好主意,因为 eclipse 需要比平常更大的 PermGen 堆。但是所有版本的 eclipse 可能都需要这个配置,这不会影响你的问题,这里只是一些建议。

【讨论】:

以上是关于Windows 64 位上的 Qt Jambi eclipse 集成错误的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7 64 位上的 streamlit 安装错误

Windows 7 64 位上的 MercurialEclipse:不安装“Mercurial 的 Windows 二进制文件”

有没有办法让 Windows 64 位上的应用程序在 64 位和 32 位仿真层下执行代码?

无法在 Windows 10 上的 python 3.6 64 位上运行 pyqt5(没有 anaconda 没有 virtualenv)

有没有办法在 Windows 上的 python 2.7 64 位上使用 ibm_db?

无法启用 CURL - Windows 7 64 位上的 WAMP - PHP 5.3.13 Apache 2.2.22