适用于所有平台的 Eclipse rcp 构建(一体化)

发布于 2024-10-28 21:16:48 字数 202 浏览 6 评论 0原文

我正在尝试为不同平台(linux、win32 和 mac)构建 eclipse (3.6) RCP 应用程序。为此,我需要三个目标平台,并且还必须在我想要构建它们的平台上构建它们。 所以我得到了三个不同的版本。

是否可以在 Linux 机器(或类似的配置)上构建 win32 版本,是否可以将所有构建合并为一个版本(因为据我所知,唯一改变的是启动器和 deltapack)?

I'm trying to build my eclipse (3.6) RCP application for different platforms (linux, win32 and mac). For that I need three target platforms and I also have to build them on the platforms I want to build them for.
So I get three different builds.

Is it possible to build a win32 release on a linux machine (or similar configurations) and is it possible to merge all the builds into one single one (since the only thing that changes afaik is the launcher and the deltapacks)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

信愁 2024-11-04 21:16:48

为此,我需要三个目标平台,并且我还必须在我想要构建它们的平台上构建它们

这是不正确的。您需要为您想要构建的平台提供一个有效的目标(在构建目标中安装 delta-pack 就足够了),但是在 PDE 的 build.properties 中您可以指定您想要构建的平台,一个例子是

configs = win32, win32, x86 & \
win32, win32, x86_64 & \
linux, gtk, x86 & \
linux, gtk, x86_64 & \
macosx, carbon, ppc &\
macosx, cocoa, x86

A使用此配置构建将创建 6 个不同的输出工件。

是否可以将所有构建合并为一个构建

虽然我不明白将不同构建合并为一个构建有什么好处,但 PDE 构建不支持这一点。如果您想将构建输出合并到一个工件中,您可以自己尝试一下,但我怀疑这是可能的。您的 application.ini 中有对平台相关片段的引用,p2 还在配置区域中保存特定于平台的数据。此外,您的构建工件(以及用于更新的包)的大小会增加(从技术角度来看,这是不相关的,但从分发或维护的角度来看,这是一个主要缺点)。

汤姆·HTH

For that I need three target platforms and I also have to build them on the platforms I want to build them for

This is not correct. You need a valid target for the platforms (install the delta-pack in your build-target is enough) you want to build but in the build.properties of PDE you can specify for which platforms you want to build, an example would be

configs = win32, win32, x86 & \
win32, win32, x86_64 & \
linux, gtk, x86 & \
linux, gtk, x86_64 & \
macosx, carbon, ppc &\
macosx, cocoa, x86

A build with this configuration would create 6 differents output artifacts.

and is it possible to merge all the builds into one single one

Although I don't understand what benefit of merging the different builds into one single build would be, this is not supported by PDE build. If you want to merge the build-output into one artifact you could try that for your own, but I doubt that this is possible. You have in your application.ini a reference to the platform-dependent fragment and p2 holds also platform-specific data in the configuration area. In addition your build-artifact (and also the packages for updating) would increase in size (which is from a technical perspective not relevant, but is a major disadvantage from a distribution- or maintaining-perspective).

HTH Tom

伪装你 2024-11-04 21:16:48

关于合并构建的想法,我强烈建议您不要这样做。造成这种情况的原因有很多,其中之一是不同平台版本中包含很大一部分本机代码,这会严重膨胀应用程序的大小。此外,RCP 用于启动应用程序的本机启动器不能很好地协同工作。我只是硬着头皮制作不同的平台版本。您始终可以尝试在您的网站上确定用户需要哪个版本,但 RCP 并不是一次编译,就可以在任何地方运行。

Regarding the idea of merging the builds, my strong recommendation is that you just don't. There are a lot of reasons for this, among them is that there are large portions of native code included in the different platform versions, and this will majorly bloat the size of the application. Additionally, the native launchers used by RCP to kick off the application will not play well together. I'd just bite the bullet and make different platform versions. You can always try to determine on your website which version the user needs, but RCP is NOT compile once, run anywhere.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文