插件体系源代码参考目录结构

Code/                            (源代码根目录,产品工作区文件)
    │
    ├ Bin/                       (编译出的运行文件,不放在源代码库中)
    │    ├Debug/                 (调试版的EXE文件)
    │    │    ├Plugins/          (调试版的插件DLL文件)
    │    │    ├Symbols/          (插件的符号库*.map和调试库文件*.pdb)
    │    │    └UnitTests/        (单元测试运行文件)
    │    └Release/               (发布版的运行文件)
    │         ├Plugins/          (发布版的插件DLL文件)
    │         ├Symbols/
    │         └UnitTests/        (单元测试运行文件)
    │
    ├ Obj/                       (编译生成的临时文件)
    │    ├Debug/                 (调试版的编译临时文件)
    │    │    ├Project1/         (每一个工程一个目录)
    │    │    └Project2/
    │    └Release/               (发布版的编译临时文件)
    │         ├Project1/
    │         └Project2/
    │
    ├ Lib/                       (全局性的LIB目录)
    │    ├Debug/                 (调试版的全局性LIB目录)
    │    └Release/               (发布版的全局性LIB目录)
    │ 
    ├ pkg_Public/                (公共插件包的代码目录)
    │    ├Interface/             (公共接口头文件)
    │    │    ├Module1/          (某一个公共插件的接口头文件)
    │    │    └Module2/
    │    └Modules/               (公共插件源代码、工作区文件)
    │         ├Project1/         (每个插件一个目录)
    │         ├Project2/
    │         └Project3/
    │ 
    ├ pkg_Layer1/                (某一个插件包或层的代码目录)
    │    ├Interface/             (该包的接口头文件)
    │    │    └Module1/          (某一个插件的接口头文件)
    │    └Modules/               (该包的源代码、工作区文件)
    │         ├Project1/         (每个插件一个目录)
    │         ├Project2/
    │         └Public/           (仅该包用的公共文件,目录可改名)
    ├ pkg_XXX/                   (更多的包)
    │
    └ UnitTests/                 (单元测试工程包、单元测试工作区文件)
         ├Interface/             (单元测试用的接口文件)
         │    └cppunit/          (CppUnit头文件)
         └Modules/               (每个单元测试工程一个目录)
              ├TestProj1/
              └TestProj2/

 

如果需要同时编译出VC60/80/90的插件文件,则在上面的Bin、Obj、Lib目录下再加一级目录来区分VC++版本,例如:

Code/
    │
    ├ Bin/
    │    ├vc60
    │    │    ├Debug/
    │    │    │    ├Plugins/
    │    │    │    ├Symbols/
    │    │    │    └UnitTests/
    │    │    └Release/
    │    │         ├Plugins/
    │    │         ├Symbols/
    │    │         └UnitTests/
    │    └vc80
    │
    ├ Obj/
    │    ├vc60
    │    │    ├Debug/
    │    │    │    ├Project1/
    │    │    │    └Project2/
    │    │    └Release/
    │    │         ├Project1/
    │    │         └Project2/
    │    └vc80
    │
    ├ Lib/
    │    ├vc60
    │    │    ├Debug/
    │    │    └Release/
    │    └vc80
    │

 

posted @ 2010-08-30 10:37  张云贵  Views(1287)  Comments(1Edit  收藏  举报