如何使用Eclipse CDT构建SCons项目?

时间:2009-06-27 12:31:17

标签: eclipse build eclipse-cdt scons

我们有一个相当大的C / C ++项目,使用scons进行构建。我想通过Eclipse-CDT尝试构建它。任何人都有这方面的经验,可以告诉我将scons设置为构建器的步骤。 (不使用SConsBuilder插件,它不能与Fedora-11的Eclipse-CDT一起使用)。

6 个答案:

答案 0 :(得分:16)

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

答案 1 :(得分:14)

您可以使用简单地将重要目标委派给scons的Makefile

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

然后可以开箱即用“标准制作C项目”。

答案 2 :(得分:11)

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

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一起使用,所以最终它有点学术性。 / p>

答案 3 :(得分:4)

只需更改构建器设置,无需插件。选择外部构建器并设置scons而不是make并将workdir设置为dirs SConstruct放置的位置。

现在,您可以使用make targets视图创建scons构建命令并像make命令一样执行它。使用scons的错误解析器默认情况下工作正常,无需其他配置。

答案 4 :(得分:1)

http://sconsolidator.com/ Sconsolidator应该可以工作。

答案 5 :(得分:0)

对于在现有项目中使用Sconsolidator非常谨慎!!当您单击链接以向项目添加SCons特性时,它将盲目地覆盖项目根目录中的任何现有SConstruct / SConscript文件。 (我试图将此报告为项目的错误,但到目前为止每次都被阻止。)