多平台C++项目结构
Multi-platform C++ project structure
我实际上需要有关如何构建我的项目(目录树)的帮助。
我计划编写一个分为多个部分的网络库(一个用于服务器,一个用于客户端等)
我实际上是在 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 和编程语言即可。例如,您可以只使用 Eclipse 来获得 C++ 支持,并为您的项目获得可以在多个操作系统上 运行 的输出。
不要在您的项目中包含 IDE
生成的任何文件。让每个开发者选择他们自己的IDE
。分发源码的时候把program/library本身相关的文件打包,让每个开发者导入自己喜欢的IDE
。
您将不得不选择一些跨平台的方式来构建 progs/libs。
Makefile
非常通用。大多数 IDEs
可以 运行 一个来自其 Makefile
的项目。或者您可以使用生成 Makefile
.
的众多跨平台构建系统之一
此外,您可能希望将源代码置于版本控制之下,例如 git。
对于每个平台,将执行不同的代码集,因此每个平台都有单独的代码库,否则将无法编译。解决方案是为特定于平台的功能创建单独的文件,并为该平台标记该文件,维护一个代码库。要在平台上工作,请从存储库中提取特定于平台的所需代码。这是一个例子 "Upload XML data to MySQL or NoSQL"
我实际上需要有关如何构建我的项目(目录树)的帮助。 我计划编写一个分为多个部分的网络库(一个用于服务器,一个用于客户端等)
我实际上是在 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 和编程语言即可。例如,您可以只使用 Eclipse 来获得 C++ 支持,并为您的项目获得可以在多个操作系统上 运行 的输出。
不要在您的项目中包含 IDE
生成的任何文件。让每个开发者选择他们自己的IDE
。分发源码的时候把program/library本身相关的文件打包,让每个开发者导入自己喜欢的IDE
。
您将不得不选择一些跨平台的方式来构建 progs/libs。
Makefile
非常通用。大多数 IDEs
可以 运行 一个来自其 Makefile
的项目。或者您可以使用生成 Makefile
.
此外,您可能希望将源代码置于版本控制之下,例如 git。
对于每个平台,将执行不同的代码集,因此每个平台都有单独的代码库,否则将无法编译。解决方案是为特定于平台的功能创建单独的文件,并为该平台标记该文件,维护一个代码库。要在平台上工作,请从存储库中提取特定于平台的所需代码。这是一个例子 "Upload XML data to MySQL or NoSQL"