c++项目组织

C++ project organisation

本文关键字:项目组 c++      更新时间:2023-10-16

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

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

你将如何组织代码和设置开发环境?

编辑:我需要从DE的具体的东西:

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

make和Makefiles是这种构建和连接工作的成熟和非常深思熟虑的方法,特别是与automakelibtool结合使用。这些工具可以很好地与SVN集成,也可以与Eclipse集成。

我现在解决了这个问题。我创建了一个名为Pool的文件夹。目录树:

<>之前池- - -公司——手臂- proj1公共头目录- proj2 public headers目录- pro3 public headers目录- - - - - -林- proj1公共头目录- proj2 public headers目录- pro3 public headers目录- - - - - -赢- proj1公共头目录- proj2 public headers目录- pro3 public headers目录自由——手臂——libproj1.a——libproj2.a——libproj3.a- - - - - -林——libproj1.a——libproj2.a——libproj3.a- - - - - -赢——libproj1.a——libproj2.a——libproj3.a之前

库在这里使用makefile自动复制。包括标题:

#include "proj1/someheader.h"
连接:

<>之前池- l $ {}/lib/手臂-lproj1之前

注意:注意-l 形参顺序