2009-06-27 83 views
20

我们有一个相当大的C/C++项目,使用scons作为建筑物。我想尝试通过Eclipse-CDT来构建它。任何人都有这方面的经验,并可以告诉我建立scons作为一个建设者的步骤。 (不使用SConsBuilder插件,它不适用于Fedora-11的Eclipse-CDT)。如何使用Eclipse CDT构建SCons项目?

回答

11

我已经试过Waf in Eclipse CDT之前,SCons会非常相似。解决方案是创建一个空的Makefile项目,然后在选项中将“make”更改为“scons”。在Windows上,可能需要您的路径中的scons.bat文件。这并不比创建一个虚拟Makefile文件有all:\n\tscons类型模式好得多,但它是最少的工作。

SConsBuilder plugin不是一个好主意。它有一堆硬编码的python代码,它会吐出到SConstruct。它的年龄并未更新,现在许多代码在SCons中可能已弃用。我认为更好的方法是执行SCons为Visual Studio做的事情,或者CMake为Eclipse CDT做的事情。这意味着根据您的构建配置即时生成.cproject文件。

我在一个地方写了一个Eclipse project generator for Waf,这个版本让构建节点收集源文件并吐出一个.project和.cproject文件。与CMake的做法类似,但Waf创建变体目录的默认行为意味着您不必处理源外构建问题。这已被添加为extra in waf itself。它仅使用Waf API的一部分,因此可以用一些小小的工作将其转换为SCons。换句话说,那里没有什么东西。 .cproject格式没有真正记录在任何地方,并且与Java版本相比真的很难看。

虽然我对CDT没有太满意,但它仍然是Java开发工具背后的一个很长的路要走,我仍然使用Vim与:make,所以它最终都有点学术。

14

您可以使用一个Makefile只是代表的重要指标给SCons

.PHONY: all clean install 
default: all 
all:  
    scons 
clean: 
    scons -c 
install: 
    scons install 

则可以使用“标准使C计划”开箱即用。

16

我们的一个学生为Eclipse CDT实现了一个新的SCons集成,它可以双向工作,即它可以导入SCons文件并使用相应的设置填充Eclipse CDT项目,并且可以从Eclipse项目设置生成SCons文件。此外,它还提供了一个交互式SCons模式,可以显着提高增量构建大型SCons项目的速度。它将很快向公众免费发布,请参阅http://sconsolidator.com

+1

哇,这看起来不错。荣誉给你的学生。 – supertux 2011-08-22 21:15:58

+0

我投票赞成,因为我使用了sconsolidator,它的工作原理。唯一的警告是它是封闭的来源。除非它是开源的,否则我没有看到它被广泛使用。 – 2013-02-16 16:39:43

4

只需更改生成器设置,不需要插件。选择外部构建器并设置scons而不是make,并将workdir设置为SConstruct放置的目录。

现在,您可以使用make targets视图来创建scons构建命令并像make命令一样执行它。具有scons的错误解析器默认工作正常,不需要额外的配置。

0

非常非常小心使用Sconsolidator与现有的项目!当您单击链接将SCons属性添加到项目时,它会盲目地覆盖您项目根目录中的任何现有SConstruct/SConscript文件。 (我想这个报告作为项目中的bug,但动辄被封锁为止。)