插件体系源代码参考目录结构
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 │