跨平台C ++项目入门

时间:2010-09-24 15:47:44

标签: c++ eclipse visual-studio-2010

我正在开始一个c ++项目,我想在Eclipse(Linux)和vs2010中从同一个存储库中同样很好地编译,并且可以使用一些帮助入门。虽然许多方面可以单独使用Google,但我希望就如何解决整个问题提出建议。

例如,在哪里保留库源,如何构建make文件,以及如何集成googletest(仅在googletest上查找新手教程很难)。指向这些方面的教程链接非常棒,或者一系列教程可以帮助解决这些问题。

我的背景是在C#中,我正在努力保持我的VS项目的“清洁度”和组织。

3 个答案:

答案 0 :(得分:13)

我已经完成了在两个平台上使用“原生”构建系统的跨平台项目(windows上的vsproj文件和linux上的makefile),但是维护这两个项目文件肯定是一件痛苦的事。所以,是的,我同意其他建议,你应该尝试从一个可靠的跨平台构建实用程序开始。 CMake或可能Boost build似乎是不错的选择 - 可能还有很多其他选择。

说到第三方库,你会想要坚持经过严格测试的跨平台的东西。 Boost是c ++最好的通用库(是的,你看到它在几乎每个c ++线程中都提到过......但那是因为它真的 是一个很好的有用东西集合) 。至于XML,HTTP,图像库,用户界面 - 有很好的跨平台选项 - 如果您有特定要求,只需环顾四周或询问。无论你做什么,不要使用CodeProject或其他仅使用Visual Studio 6进行过测试的面向MS的网站中的某些库 - 这只会导致痛苦。这些天大多数GNU库建立在Windows上,所以你应该对这些东西保持相当安全。

虽然它很诱人,但请尽量减少代码中的平台#ifdefs - 而是尽可能抽象地在库中抽象任何特定于平台的内容。

祝你好运!

答案 1 :(得分:5)

您需要查看cmake

答案 2 :(得分:4)

如果你强烈跨平台并希望一切尽可能“干净”,我可以建议一件事:使用像Scons这样的现代跨平台构建工具集中构建系统。它是用Python编写的,它非常简洁和强大,并且可以在任何地方使用。

或者,如果您是Eclipse的粉丝,只需在Windows和GNU / Linux上安装Eclipse即可。正如我上面提到的,它是跨平台的,你可以让它适用于各种不同系统的编译器。

相关问题