我正在用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的这本书(可在线阅读).玩得开心!