我正在尝试为不同的平台(linux,win32和mac)构建我的eclipse(3.6)RCP应用程序。为此我需要三个目标平台,我还必须在我想要构建它们的平台上构建它们。 所以我得到了三种不同的版本。
是否可以在linux机器(或类似的配置)上构建win32版本,是否可以将所有构建合并为一个(因为唯一改变的是发射器和增量包)? / p>
答案 0 :(得分:3)
为此我需要三个目标平台,我还必须在我想要构建它们的平台上构建它们
这不正确。您需要一个有效的平台目标(在build-target中安装delta-pack就足够了),但是在PDE的build.properties中,您可以指定要构建的平台,例如< / p>
configs = win32, win32, x86 & \
win32, win32, x86_64 & \
linux, gtk, x86 & \
linux, gtk, x86_64 & \
macosx, carbon, ppc &\
macosx, cocoa, x86
使用此配置的构建将创建6个不同的输出工件。
是否可以将所有构建合并为一个
虽然我不明白将不同构建合并到一个单独构建中会有什么好处,但PDE构建不支持这一点。如果你想将构建输出合并到一个工件中,你可以为自己尝试,但我怀疑这是可能的。在application.ini中有对平台相关片段的引用,p2在配置区域中也包含特定于平台的数据。此外,您的构建工件(以及用于更新的软件包)的大小会增加(从技术角度来看不相关,但从分发或维护角度来看,这是一个主要缺点)。
HTH汤姆
答案 1 :(得分:0)
关于合并构建的想法,我的强烈建议是你不这样做。这有很多原因,其中包括不同平台版本中包含大部分本机代码,这将大大增加应用程序的大小。此外,RCP用来启动应用程序的原生发射器不能很好地协同工作。我只是咬紧牙关,制作不同的平台版本。您可以随时尝试在您的网站上确定用户需要哪个版本,但RCP不会编译一次,可以在任何地方运行。