22

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

4

6 回答 6

15

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

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

然后可以开箱即用地使用“Standard Make C Project”。

于 2009-08-19T15:26:59.460 回答
15

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

于 2011-06-01T14:03:56.110 回答
12

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

SConsBuilder插件不是一个好主意。它有一大堆硬编码的 python 代码,它会输出到 SConstruct。它已经很久没有更新过了,现在 SCons 中可能已经弃用了很多代码。我认为更好的方法是做 SCons 为 Visual Studio 做的事情,或者 CMake 为 Eclipse CDT 做的事情。这意味着根据您的构建配置动态生成 .cproject 文件。

我曾经为 Waf 编写了一个 Eclipse 项目生成器,它遍历构建节点收集源文件并生成一个 .project 和 .cproject 文件。与 CMake 的做法类似,但 Waf 创建变体目录的默认行为意味着您不必处理源外构建问题。这已作为waf 本身的额外内容添加。它仅使用 Waf API 的一部分,因此可以通过少量工作将其转换为 SCons。换句话说,那里没有什么东西。.cproject 格式在任何地方都没有真正记录,并且与 Java 版本相比确实很难看。

不过,我在 CDT 上的表现并不好——它落后于 Java 开发工具还有很长的路要走——而且我仍然将 Vim 与:make.

于 2009-06-27T16:51:26.387 回答
4

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

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

于 2012-05-10T11:40:02.887 回答
1

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

于 2012-08-20T11:33:18.323 回答
0

在现有项目中使用 Sconsolidator 时要非常小心!!当您单击链接以将 SCons 特性添加到您的项目时,它将盲目地覆盖您在项目根目录中拥有的任何现有 SConstruct/SConscript 文件。(我正试图将此作为项目的错误报告,但到目前为止一直被阻止。)

于 2012-05-14T14:19:08.663 回答