VC项目工程配置

来源:互联网 发布:java qq登录 编辑:程序博客网 时间:2024/05/01 22:30

对于创建一个工程,估计很多童鞋都有这样的想法,怎么样才能让我的整个项目更加有有层次感,更加便于大项目的代码管理,维护;

在此,我把前几天的学习总结一下:

(一) 首先介绍一下整个项目的文件结构:

                     

 第一层为整个工程总文件夹;

第二层为工程文件夹,还可以加入一些支持库之类的;

第三层是主要存放配置和代码目录,输出目录:

  bin: 用于存放生成后文件,比如 .dll  .exe  或者 配置文件  .xml   ...

  inc: 头文件集合,所有头文件全部放在这里;inc 下又可以新建文件夹,把不同模块的头文件分开存放;

  lib: 主要存放生成的lib文件;

 makefiles:这里是工程目录;随后会分析里面的工程配置;

 src:这个是源码文件;和inc 一样,实行模块管理;

 tmp:这个是所有中间生产项的文件夹;

.sln  .ncb  .suo  这个是  项目生成以后会有的,不用管;

BBK_solution.bat:一个工程的配置;

   详细: 

@echo off

rem -- This .bat file is used to start the solution

call "E:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86

call bbk_vars.bat

@echo Open solution in VS.Net IDE ...

if not exist %THIS_SOLUTIONNAME%.sln goto ERROR_NOT_FOUND_SOLUTION_FILE
devenv %THIS_SOLUTIONNAME%.sln
@echo -- Success!

goto END

:ERROR_NOT_FOUND_SOLUTION_FILE
@echo ERROR: Not found the solution file!
goto END

:END

 

大家可以看见是个批处理文件,主要是启动 vs

 

BBK_vars.bat : 工程配置,供上一个调用,并且提供vs 参数

 详细:

@echo off

rem -- This .bat file is used to start the solution

rem -- These variables can be changed as you need
set THIS_REALPATH=F:\PHOCB\projects

@echo Set develop environment variables ...

set THIS_SOLUTIONNAME=PHC
set THIS_ROOT=%THIS_REALPATH%
set THIS_BIN=%THIS_ROOT%\bin
set THIS_INC=%THIS_ROOT%\inc
set THIS_INC_PLUGINS=%THIS_INC%\plugins
set THIS_LIB=%THIS_ROOT%\lib
set THIS_SRC=%THIS_ROOT%\src
set THIS_SRC_PLUGINS=%THIS_SRC%\plugins
set THIS_TEMP=%THIS_ROOT%\tmp
set THIS_OUTPUT=%THIS_TEMP%\Output
set THIS_INTERMEDIATE=%THIS_TEMP%\Intermediate

@echo -- Success!

 

这样整个工程外围就布置好了;

(二)下面就详细说明一下使用:

  1: 通过vs自己新建一个(win32 或者其他的 空项目也可以)项目: 假如名字叫(BFC) 位置 F:\BFC

 

创建完成以后 如图所示;

2: 配置项目

  a)在BFC 目录下按照(一)中所示目录结构创建目录(.sln  .ncb  .suo  这3个不用管)

 b)把F:\BFC\BFC 下的  BFC.sln ;  BFC.suo ; BFC.ncb  拷贝到 F:\BFC\projects 下
 c) 修改 BBK_solution.bat  中的内容 call "E:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86  这一句  要保证能调到vs下的 这个文件;
 d)修改 BBK_vars.bat 中 的内容; 比如 set THIS_REALPATH=F:\PHOCB\projects  要修改一下  set THIS_REALPATH=F:\BFC\projects
set THIS_SOLUTIONNAME=PHC  修改为  set THIS_SOLUTIONNAME=BFC  其他的可以先不用动
 e)下面 看 BFC.sln  这个神器,  右键记事本打开,就能发现其实就是一行行配置,
要修改的很少 = "BFC", "BFC\BFC.vcproj",   这一句找到了吧,修改为 = "BFC", "makefiles\BFC.vcproj",  就好了,但是要把 F:\BFC\BFC\BFC 的 BFC.vcproj  和 BFC.vcproj.XXXXX.user  xxxxx  不同的电脑会不一样,但是BFC.vcproj. 是一样的; 拷贝到 F:\BFC\projects\makefiles  这个下面;
 d)现在看看下一个神器,F:\BFC\projects\makefiles  下  刚刚考过来的BFC.vcproj ,还是右键记事本打开,能发现依旧是配置:
找到  (“源文件”)三个字,从这里开始, 修改 
    源文件:
       (1)  Name="源文件" 为 Name="src"
      (2) RelativePath=".\BFC.cpp"  为  RelativePath="..\src\BFC.cpp"   并拷贝  F:\BFC\BFC\BFC 下的 BFC.cpp 到 F:\BFC\projects\src 
      (3) RelativePath=".\stdafx.cpp"  为 RelativePath="..\src\stdafx.cpp"   并拷贝 F:\BFC\BFC\BFC 下的 stdafx.cpp 到F:\BFC\projects\src  
    头文件:
      (1) Name="头文件" 为 Name="inc"
      (2) RelativePath=".\BFC.h"  为  RelativePath="..\inc\BFC.h"   并拷贝  F:\BFC\BFC\BFC 下的 BFC.h 到 F:\BFC\projects\inc 
      (3) RelativePath=".\Resource.h"  为 RelativePath="..\src\Resource.h"   并拷贝 F:\BFC\BFC\BFC 下的 Resource.h 到F:\BFC\projects\src (这个头文件是管理资源文件的,资源文件放在一块)  
      (4) RelativePath=".\stdafx.h" 为 RelativePath="..\inc\stdafx.h" 并拷贝 F:\BFC\BFC\BFC 下的 stdafx.h 到F:\BFC\projects\inc
    资源文件:(资源文件我们一般放在源文件中,并且新建一个文件夹叫 res )
      (1) Name="资源文件" 为 Name="res"
      (2) RelativePath=".\BFC.ico"  为  RelativePath="..\src\res\BFC.ico"   并拷贝  F:\BFC\BFC\BFC 下的 BFC.ico 到 F:\BFC\projects\src\res
      (3) RelativePath=".\BFC.rc"  为 RelativePath="..\src\BFC.rc"   并拷贝 F:\BFC\BFC\BFC 下的 BFC.rc 到F:\BFC\projects\src 
      (2) RelativePath=".\small.ico" 为 RelativePath="..\src\res\small.ico" 并拷贝 F:\BFC\BFC\BFC 下的 small.ico 到 F:\BFC\projects\src\res
  ReadMe.txt  
RelativePath=".\ReadMe.txt"  修改为 ="..\src\ReadMe.txt  并拷贝;
 
保存就好了;
 
最后在 tmp 目录中 新建两个文件夹Intermediate  和 output
 
双击 F:\BFC\projects 下的 BBK_solution.bat 就可以启动项目;
 
 
 
配置好以后就样这样;
(三)最后配置工程属性:
 打开工程属性-> 配置属性下->常规->输出目录->$(THIS_OUTPUT)
            中间目录->$(THIS_INTERMEDIATE)\$(ProjectName)\$(ConfigurationName)
                        c/c++->常规->附加包含目录->"$(THIS_INC)"
      生成事件->生成后事件->命令行->copy $(TargetPath) $(THIS_BIN)\
 
(四)修改包含的头文件。
(五)修改代码中的资源文件地址。
 比如 代码中 
IDI_BFC       ICON         "BFC.ico" 修改为 
IDI_BFC       ICON         "res/BFC.ico"
 
 
到这一步为止,就全部配置好了,编译代码就可以了;
在增加代码时,现在相应的为止建立一个文件,然后加入到工程相应位置就ok!
注意,启动项目,只能从BBK_solution.bat  双击启动;这是为了导入环境参数;