多平台C ++项目结构

时间:2015-04-04 23:51:19

标签: c++ directory structure project

我实际上需要有关如何构建项目(目录树)的帮助。 我打算编写一个分为多个部分的网络库(一个用于服务器,一个用于客户端等)

我实际上是在Windows上进行编码,但我计划在未来将其打造成多平台。

我目前的设置是:

Solution folder
    - doc           // Doxygen generated documentation
    - include       // Public headers
    - lib           // Output libraries
        - Debug
        - Release
    - source        // Private implementation and headers
    Doxyfile
    Solution.sln

我的问题是,我应该在哪里放置每个IDE的项目文件? Visual Studio为每个项目生成多个文件,我不知道我应该在哪里存储它们,因为可能还有另一个IDE也可以存储它们。

3 个答案:

答案 0 :(得分:1)

不要在项目中包含IDE生成的任何文件。让每个开发人员选择自己的IDE。在分发源代码时,只需打包与程序/库本身相关的文件,并让每个开发人员将其导入自己喜欢的IDE

您必须选择一些构建progs / libs的跨平台方式。

Makefile非常普遍。大多数IDEs可以从Makefile运行项目。或者,您可以使用生成Makefile的许多跨平台构建系统之一。

此外,您可能希望将源保持在版本控制之下,例如git

答案 1 :(得分:0)

如果要创建跨平台项目,只需使用适合该任务的IDE和编程语言即可。例如,您可以使用Eclipse获得C ++支持,并为您的项目获取可在多个操作系统上运行的输出。

答案 2 :(得分:0)

对于每个平台,将执行不同的代码集,因此每个平台将具有单独的代码库,否则将无法编译。解决方案是为平台特定功能提供单独的文件,并为平台标记该文件,从而维护一个代码库。要在平台上工作,请从存储库中提取特定于平台的所需代码。以下是"Upload XML data to MySQL or NoSQL"

的示例