C便携式开源应用程序的最佳实践

我正在C中开始一个开源跨平台项目.我的开发环境是Linux.可能还有其他开发人员也从不同的平台开发.因此,我需要一些帮助来开始配置和开发环境设置,以便来自多个平台的所有开发人员都可以轻松开发.

以下是我的问题

>编译器:我打算用g听说它是跨平台的.这是一个不错的选择吗?
>制作文件:我看过Code :: Blocks编辑器,它可以快速生成make文件,你不必手动编写.这是最佳做法还是我需要创建make文件?
>开发跨平台应用程序时需要注意哪些其他设置?

有什么想法吗?

编辑

谢谢你的回答.还有一个问题.

你手工制作makefile吗?或者有没有可以生成它的工具?

最佳答案
您的项目最重要的事情就是可移植性.它应该很容易建立和为每个人奔跑.

GCC(g)确实是首选的编译器.它来自开源世界,因此被最广泛采用.

但是,一个简单的Makefile不会削减它.使用CodeBlocks或任何其他IDE生成它有一个问题:由于他们的平台,其他开发人员可能必须生成他们自己的,但不一定有手头的CodeBlock,或者只是不想使用它.

存在几种不同的跨平台构建系统,它们是IDE不可知的.其中一些创建Makefile,另一些不使用make,而是自己构建.

>最广泛采用的构建系统是Autotools.然而,它很难学习,混乱,并且整体上很痛苦.
>在其他许多选择中,我推荐Waf.已经有几个较大的开源项目证明,XMMS2是一个很好的例子(虽然不是一个非常受欢迎的项目,它有一个大型构建,有很多插件,并且构建很多平台包括OS X和Windows).虽然waf没有被广泛采用,但它意味着与源一起提供并且易于设置.我给你的推荐.

编辑:为了开始您的开源项目,我还推荐了Karl Fogel的this book(可在线阅读).玩得开心!

转载注明原文:C便携式开源应用程序的最佳实践 - 代码日志