繁体   English   中英

跨平台C ++项目入门

[英]Getting started with a cross platform C++ project

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

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

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

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

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

虽然它很诱人,但尝试最小化代码中的#ifdefs平台 - 而不是尽可能抽象地在库中抽象任何特定于平台的东西。

祝好运!

你会想看看cmake

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM