多平台C++项目结构

Multi-platform C++ project structure

本文关键字:结构 项目 C++ 平台      更新时间:2023-10-16

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

我实际上是在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也可以这样做。

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

您将不得不选择一些跨平台的方式来构建progs/libs。

Makefile是相当普遍的。大多数IDEs可以从其Makefile运行项目。或者,您可以使用生成Makefile的许多跨平台构建系统中的一个。

此外,您可能希望将源代码置于版本控制之下,例如git。

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

对于每个平台,将执行不同的代码集,因此每个平台都有单独的代码库,否则将无法编译。解决方案是为特定于平台的功能提供单独的文件,并为平台标记该文件,维护一个代码库。要在平台上工作,请从存储库中提取特定于平台的必需代码。下面是一个示例"将XML数据上载到MySQL或NoSQL"