我正在开始一个C++项目,希望能够从同一代码库编译出可以在Eclipse(Linux)和VS2010中同样运行的程序。需要一些帮助来启动项目。虽然很多方面都可以单独搜索,但我希望得到如何整体解决问题的建议。例如,在哪里存放库源代码,如何构建make文件,以及如何集成googletest(仅查找一个初学者教程就很困难)。如果您能提供一些涵盖这些方面的教程链接,或者一系列教程,将会非常感谢。我的背景是C#,我希望保持我的VS项目的“干净”和组织性。
#ifdefs
- 最好尽可能将任何特定于平台的内容抽象到库中。#ifdef
和单独的库 - 将通用代码放在一个库中的基类中,然后通过多态性扩展该类以创建不同平台特定行为的平台特定子类是合理的。然后,唯一需要的 #ifdef
是控制使用哪个子类。 - Reinderien如果你想要跨平台并且希望一切尽可能“清洁”,我建议你集中使用现代跨平台构建工具(如Scons)来管理你的构建系统。Scons是用Python编写的,非常简洁而强大,并且可以在任何地方使用。
或者,如果你喜欢Eclipse,只需在Windows和GNU/Linux上安装Eclipse即可。正如我上面提到的,它是跨平台的,并且你可以让它为各种不同系统上的编译器工作。
glob.glob
和os.listdir
来获取目录中的文件列表,从而避免维护文件列表... - Matthieu M.