2013-01-03 91 views
1

我使用的是可在Windows,Linux和VxWorks上运行的多平台软件。 软件编写EN C和C++,我们使用:如何在同一个项目和相同的源代码库中使用不同版本的Eclipse

  • 对于Linux目标,我们主要的开发环境,我们使用Eclipse的3.7.2 + CDT插件(附带的Ubuntu 12.04的一个) 。
  • 对于VxWorks目标,我们使用Wind River Workbench,一个Windows,基于Eclipse 3.7.1的CDT程序,由Wind River提供,VxWorks的制造商。
  • 对于Windows目标,我们使用Visual Studio。

我的问题是Linux Eclipse和Wind River Workbench都会在项目的根目录下创建.project和.cproject文件。由于项目目录是跨平台共享的,因此存在冲突。

我发现的唯一的解决方法是如下:

/.../mysoftware/others/src ---> contains the code 
/.../mysoftware/others/inc ---> contains the code 
/.../mysoftware/others  ---> where the Wind River Workbench ".something" files are 
/.../mysoftware/linux/src ---> symlink to ../others/src 
/.../mysoftware/linux/inc ---> symlink to ../others/inc 
/.../mysoftware/linux  ---> where the Linux Eclipse ".something" files are 

该解决方案是相当难看,使Eclipse插件为我的SCM(水银)停止工作,并且仅适用于Linux操作系统。

如何让多个基于Eclipse的IDE使用自己的一组“.something”文件?

回答

2

我建议你不要将这些文件检入SCM,并将它们添加到Mercurial的忽略列表中。

您可以检入这些文件的模板版本(.project.linux,.project.vxworks等),每个开发人员在签出Mercurial项目后可以手动复制到.project。只要它们变化不大,这就足够了。

+0

感谢您的回答。我为每个项目存储了.project.vx和一个.project.vxworks文件。我没有手工制作副本,而是创建了一个脚本,用于将.project.linux中的符号链接(我们有超过50个项目)创建为.project。我甚至发现了Windows命令“mklink”。 –

+0

@redmatt很高兴你得到它的工作。 'mklink'是一个未被充分利用的经典。 – artbristol

0

我建议使用一个原始文件夹进行源代码管理操作,并为每个平台使用两个不同的文件夹。

您应该使用每个文件夹中的符号链接复制结帐文件夹结构。 然后,在每个文件夹中创建所需的CDT项目。 Eclipse项目文件将进入该文件夹而不是原始文件夹,因此它们不会发生冲突。

相关问题