C++项目组织

标签 c++ eclipse projects-and-solutions project-organization

我已经成为共享库项目的维护者。该库分为几个模块,每个模块都编译为静态库,然后链接在一起。使用Eclipse作为IDE,代码存放在SVN服务器。到目前为止,构建过程是手动处理的——构建库,将所有 .a 和 .h 移动到共享文件夹,然后构建共享库。需要针对 linux、ARM 和 windows 编译代码。

问题是我需要更多地拆分当前模块,以便更好地测试(多个测试和示例简单程序,只有一个带有 main 的 .cpp 文件)和模块间代码共享(模块A和B都使用C,但我不想连接A和B)。这会导致更复杂的依赖树,这将很难手动处理。我还需要能够构建一个项目的更多配置,可能链接到不同版本的依赖项目。

您将如何组织代码并设置开发环境?

编辑:我需要从 DE 获得的具体信息:

  1. 带有 GUI 的 IDE(我喜欢 vim 和 shell,但其他的不喜欢)
  2. 单独的项目,每个项目都创建静态库、要包含的一组 header 和示例程序
  3. 每个项目的不同配置,链接/包含不同版本和/或依赖项的配置
  4. 代码完成和 SVN 支持

最佳答案

make和 Makefile 是此类构建和链接作业的既定且经过深思熟虑的方法,尤其是与 automake 结合使用时和 libtool .这些工具与 SVN 完美集成,可能还与 Eclipse 集成。

关于C++项目组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7222657/

相关文章:

visual-studio - 如何确定哪些 Visual Studio 解决方案使用哪些项目?

c++ - 如何处理系统管理员在 `/usr/lib` 中安装的旧库

java - UnsatisfiedDependencyException 尝试在 eclipse 中配置基本的 spring-boot 项目

java - 使用 Eclipse 解析 JSON

eclipse - 贾瓦尔 (JNI) 不可用

visual-studio-2010 - 是否有工具可以在 VS2005、VS2008 和 VS2010 解决方案和项目(不仅是 .NET)之间进行转换?

visual-studio - 使用 VS 2012 和 VS 2015 处理 Visual Studio 项目

c++ - 是否可以将 std::vector 放置到共享内存中?

c++ - 防止 McAfee Dll 注入(inject)

C++ lambda 不会对按值捕获的成员调用析构函数