2011-03-01 62 views
2

我有一个包含C/C++文件的项目。我想建立它,而不使用make。我有什么选择?如果可能,我希望跨平台解决方案。不使用Makefiles构建C/C++项目

+0

cmake,scons,maven选择你的毒药...... – Nim 2011-03-01 08:41:25

+0

从技术上讲,cmake使用make文件,这取决于你的目标编译器和其他选项 - 但你不必自己写它们,这是一个很大的优点。这不应该被认为意味着cmake是微不足道的--cmake方式是一种好方法,但启动可能是痛苦的。 – Steve314 2011-03-01 08:48:01

+0

@ Steve314,是的,我想列出三个,想不到另一个......;) – Nim 2011-03-01 08:56:15

回答

5

我用过SCons,它非常好。

SCons是一个开源的软件构建工具 - 也就是下一代构建工具。可以将SCons看作改进的跨平台替代品,它具有类似于autoconf/automake和编译器缓存(如ccache)的集成功能的经典Make实用程序。总之,SCons是构建软件的一种更简单,更可靠,更快捷的方式。

我也看过cmake但没有认真使用它。

1

一个常见的选择是编写python脚本来编译你的代码。

3

那么,你总是需要一些方法来调用编译器。如果这是一个简单的项目,通常只需将所有.C文件名粘贴到编译器的命令行上即可获得某种输出。

或者,您可以使用批处理文件/ shell脚本代替makefile,但与“生成文件”相比,它的“跨平台”更少,而且不太有用。

你应该更清楚地解释你的动机。

+1

这并不是说我没有makefile的经验,只是我不喜欢这个语法。我觉得很难保守,更不用说向新人们解释$ <$ *是什么:) – Geo 2011-03-01 08:43:15

2

既然你打算使用Boost反正(对吧?)Boost.Jam可能是一个选项。

+0

我以为世界上只有2-3人知道如何写bjam文件。那不是吗? – 2011-03-01 10:37:27

2

我已经在我的一些项目中使用了WAF,并且工作得很好。

如果你对python很熟悉...

1

你是如何编辑你的代码的?那个系统可以为你建造吗?

Visual Studio,Eclipse,XCode,KDevelop? :-)

+0

部分,是的。我们正在编译多个平台。当我们为Windows操作时,使用VS。但对于其他平台和单元测试,我们依赖于makefile。 – Geo 2011-03-01 18:28:26