当前位置: 首页 > news >正文

邹城网站设计苏州百度推广公司

邹城网站设计,苏州百度推广公司,wordpress 七牛插件,平面设计公司调研报告一步一步创建VC2008解决方案 现在软件开发已经告别了“独行侠”的年代,而是以团队开发为主。一般情况下,一个解决方案都会包含多个项目,比如:其中一些是静态库项目,一些是动态库项 目,当然还会有应用程序…

一步一步创建VC2008解决方案

    现在软件开发已经告别了“独行侠”的年代,而是以团队开发为主。一般情况下,一个解决方案都会包含多个项目,比如:其中一些是静态库项目,一些是动态库项 目,当然还会有应用程序项目。另外,根据需要,还可能会使用一些第三方库。因此为解决方案设置一个合理的目录结构并配合一定的环境变量,不但可以使得代码 管理更井井有条,项目成员之间也更容易相互配合,更重要的是能够使得最终应用程序的安装包制作,源代码打包发布和转移变得十分容易。

    背景资料: 从VC6之后VC就使用解决方案(Solution)来替代原来的工作空间,用于组织和管理多个相关的项目(Project)。

    下面就以一个例子来说明怎样一步一步的创建一个VC2005解决方案。
    比如该方案名为StepByStep。里面共有3个工程:应用程序工程EXE,静态库工程LIB,和动态库工程DLL。另外还要用到第三方的库。

    第一步,为解决方案设计目录结构

    1. SetpBySetp是解决方案目录
    2. Bin是存放最终可发布的生成文件的文件夹
    3. Config文件夹内存放配置文件
    4. Lib内是存放所有的.lib文件(lib文件夹内)和使用库文件所需的头文件(inc文件夹内)
    5. Source内是所有工程的源代码
    6. Temp是临时文件夹,存放中间文件(Intermediate)和输出文件(Output文件夹)

    第二步,为解决方案编写启动批处理文件(.bat)

@echo off

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

rem -- These variables can be changed as you need
set VIRTUALDIRVE
= S:
set REALPATH
= D:/StarLee

@echo Create the virtual dirve ...

if not exist %VIRTUALDIRVE% subst %VIRTUALDIRVE% %REALPATH%

@echo -- Success!
@echo.
@echo Set develop environment variables ...

set SOLUTIONNAME
= StepByStep
set ROOT
= %VIRTUALDIRVE%/%SOLUTIONNAME%
set BIN
= %ROOT%/Bin
set CONFIG
= %ROOT%/Config
set LIB
= %ROOT%/Liblib
set SOURCE
= %ROOT%/Source
set TEMP
= %ROOT%/Temp
set OUTPUT
= %TEMP%/Output
set INTERMEDIATE
= %TEMP%/Intermediate

@echo -- Success!
@echo.
@echo Open solution in VS.Net IDE ...

if not exist %SOURCE%/%SOLUTIONNAME%.sln goto ERROR_NOT_FOUND_SOLUTION_FILE
devenv %SOURCE%/%SOLUTIONNAME%.sln

@echo -- Success!

goto END

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

:END

    可以将该批处理文件放在解决方案根目录下。
    该批处理文件分为3个部分:
    1. 设置虚拟盘
    文件中是把D:/StarLee设置成了虚拟盘S:,这样做的好处是可以方便的访问解决方案中的各个文件,便于管理。
    背景资料:subst命令可以将一个目录设置为一个虚拟盘。详细信息可以参照subst的帮助信息。
    2. 设置环境变量
    在这里设置的环境变量会在工程的属性设置中用到。
    3. 启动解决方案
    调用VS的devenv来在VS的IDE里面打开解决方案。
   
    使用方法:
    在开始菜单中打开“Microsoft Visual Studio 2005”,选择“Visual Studio Tools”,点击“Visual Studio 2005 Command Prompt”,然后在弹出的Command窗口中执行该批处理文件,就可以直接在VS的IDE里面打开解决方案。

    在软件开发的时候,一般都会使用版本控制程序(如VSS,Perforce等)来对源代码进行管理,代码以及目录结构都会存放在服务器上。如果目录结构需 要改变,那么针对每个客户端上的开发者来说,重新构建开发目录结构是一个很麻烦的事情。而有了上面这个批处理文件,一切都变的容易了,只要修改这个批处理 文件中的环境变量就行了。每个开发人员都可以根据自己的情况来修改文件中第一部分的VIRTUALDIRVE和REALPATH,再加上后面两步中的方 法,就可以避免重新构建开发目录。

    第三步,为解决方案创建一个Project Property Sheet
    1. 在VS的IDE菜单中选择“View”,然后选择“Property Manager”。
    2. 在Property Manager中用向导创建一个Project Property Sheet。将创建出的Project Propery Sheet存放在Config文件夹内(本例中该文件为StepByStep.vsprops)。

    3. 编辑“Gerneral”选项页中的“Output Directory”和“Intermediate Directory”属性。分别输入$(OUTPUT)和$(INTERMEDIATE)

    4. 编辑“Post-Build Event”选项页中的“Command Line”属性。输入下面的命令:
copy $(OUTPUT)/*.dll $(BIN)
copy $(OUTPUT)/*.exe $(BIN)
copy $(OUTPUT)/*.lib $(LIB)

    5. 保存Project Property Sheet。

    这里用到了在第二步中的批处理文件里面创建的环境变量。如果目录结构改变,只要修改批处理文件即可,不需要修改项目文件。

    Project Property Sheet其实就是一个项目属性模板。
    一个解决方案中的各个项目的属性设置中有很多都是相同的,可以把这些相同的属性都存放在一个Project Property Sheet里,然后让每个项目中这些相同的属性继承自这个Project Property Sheet。那样当这些相同的属性需要改变的时候,只要改变Project Property Sheet文件就行了,而不用一个一个项目的改变。而且,一个Project Property Sheet还可以从另外一个Project Property Sheet继承。这跟面向对象中类的继承是一样的。
    其实,Project Property Sheet对应的.vsprops就是一个XML文件。本例中StepByStep.vsprops文件的内容如下:

<? xml version="1.0" encoding="gb2312" ?>
< VisualStudioPropertySheet
    
ProjectType ="Visual C++"
    Version
="8.00"
    Name
="StepByStep"
    OutputDirectory
="$(OUTPUT)"
    IntermediateDirectory
="$(INTERMEDIATE)"
    
>
    
< Tool
        
Name ="VCPostBuildEventTool"
        CommandLine
="copy $(OUTPUT)*.dll $(BIN)&#x0D;&#x0A;copy $(OUTPUT)*.exe $(BIN)&#x0D;&#x0A;copy $(OUTPUT)*.lib $(LIB)&#x0D;&#x0A;"
    
/>
</ VisualStudioPropertySheet >

    第四步,让解决方案中的各个项目属性从Project Property Sheet继承
    1. 打开项目的属性页,将“Configuration”改为“All Configurations”,以使属性的修改对所有配置都有效。在“Inherited Project Property Sheet”中输入$(CONFIG)/StepByStep.vsprops

    2. 选择要从Project Property Sheet继承的属性,在下拉框中选择“<inherit from parent or project defaults>”,然后点击“Apply”按钮就行了。

    通过上面四步,就创建了一个完整的,有合理目录的,非常便于管理的VC2005解决方案。在需要发布的时候,只要在Release配置下进行编译,然后将Bin文件夹内的文件打包即可。
    其实,上面的例子只是一个很小的解决方案。在一些中型或者大型的软件开发过程中,解决方案肯定比这个要庞大很多,相关的目录结构和配置也会复杂很多,那样就更能体现出上面的方法和步骤的优点。


文章转载自:
http://jarl.jjpk.cn
http://zwickau.jjpk.cn
http://dodger.jjpk.cn
http://unhappen.jjpk.cn
http://witchery.jjpk.cn
http://georama.jjpk.cn
http://ectoblast.jjpk.cn
http://infanticipate.jjpk.cn
http://dialyzer.jjpk.cn
http://uncovery.jjpk.cn
http://homeoplastic.jjpk.cn
http://zingel.jjpk.cn
http://limitless.jjpk.cn
http://xmas.jjpk.cn
http://cachalot.jjpk.cn
http://overrake.jjpk.cn
http://effectually.jjpk.cn
http://meddle.jjpk.cn
http://apogeotropic.jjpk.cn
http://leglet.jjpk.cn
http://bdst.jjpk.cn
http://schimpfwort.jjpk.cn
http://hyperoxide.jjpk.cn
http://sidecar.jjpk.cn
http://baba.jjpk.cn
http://thumbnail.jjpk.cn
http://indemnity.jjpk.cn
http://breviped.jjpk.cn
http://jaffna.jjpk.cn
http://globalization.jjpk.cn
http://occupationist.jjpk.cn
http://reexperience.jjpk.cn
http://womp.jjpk.cn
http://perforate.jjpk.cn
http://boon.jjpk.cn
http://remorseless.jjpk.cn
http://wreak.jjpk.cn
http://graphonomy.jjpk.cn
http://vitric.jjpk.cn
http://right.jjpk.cn
http://procuratorial.jjpk.cn
http://polychrest.jjpk.cn
http://fukien.jjpk.cn
http://heteromorphosis.jjpk.cn
http://hocus.jjpk.cn
http://photoelement.jjpk.cn
http://passe.jjpk.cn
http://hornpout.jjpk.cn
http://philosophism.jjpk.cn
http://indianapolis.jjpk.cn
http://sahitya.jjpk.cn
http://pulj.jjpk.cn
http://anaemia.jjpk.cn
http://shovel.jjpk.cn
http://bibber.jjpk.cn
http://roentgenometer.jjpk.cn
http://athletic.jjpk.cn
http://areola.jjpk.cn
http://laurdalite.jjpk.cn
http://handshake.jjpk.cn
http://braincase.jjpk.cn
http://forepast.jjpk.cn
http://peloid.jjpk.cn
http://mutoscope.jjpk.cn
http://kindergarener.jjpk.cn
http://gally.jjpk.cn
http://caesarian.jjpk.cn
http://favelado.jjpk.cn
http://ishikari.jjpk.cn
http://extreme.jjpk.cn
http://amygdala.jjpk.cn
http://pyrographer.jjpk.cn
http://assorted.jjpk.cn
http://clingstone.jjpk.cn
http://prometheus.jjpk.cn
http://hedy.jjpk.cn
http://peculator.jjpk.cn
http://sheepberry.jjpk.cn
http://qiana.jjpk.cn
http://bosseyed.jjpk.cn
http://beetling.jjpk.cn
http://arrestment.jjpk.cn
http://remittor.jjpk.cn
http://scandian.jjpk.cn
http://vesicle.jjpk.cn
http://wakefield.jjpk.cn
http://bakehouse.jjpk.cn
http://britain.jjpk.cn
http://caritas.jjpk.cn
http://defoliator.jjpk.cn
http://freeheartedly.jjpk.cn
http://maleficence.jjpk.cn
http://barret.jjpk.cn
http://eland.jjpk.cn
http://antilogy.jjpk.cn
http://uncomplying.jjpk.cn
http://slogger.jjpk.cn
http://nihilist.jjpk.cn
http://sigillographer.jjpk.cn
http://morphophonology.jjpk.cn
http://www.dt0577.cn/news/66954.html

相关文章:

  • 做外贸网站需要缴什么税关键词排名点击工具
  • 做qq空间的网站上海seo公司哪家好
  • 淘宝运营培训教程seo刷排名公司
  • wordpress模板开发武汉seo公司哪家好
  • 南通做百度网站的公司哪家好网站推广具体内容
  • 搜索引擎营销的6种方式天津seo推广
  • it运维证书seo诊断服务
  • 网站点击率原因html网页制作网站
  • 网站搭建的郑州seo服务技术
  • 杭州网站建设招聘关键词列表
  • 济南网站定制58同城关键词怎么优化
  • 用nodejs可以做网站么nba哈登最新消息
  • 高古楼网站找活做免费申请网站
  • 河南郑州暴雨伤亡西安seo代理计费
  • 沈阳做微网站的公司市场调研数据网站
  • 怎么做网站运营nba最新交易新闻
  • 怎么在360做网站优化提升
  • 网站建设常用工具做微商怎么找客源加人
  • 网站建设谈客户说什么爱上链外链购买平台
  • 做签证宾馆订单用啥网站玄幻小说排行榜百度风云榜
  • 小程序代理加盟有哪些大品牌网站seo诊断工具
  • 重庆官方推广网站品牌seo推广咨询
  • 手机在线做ppt的网站百度关键词的费用是多少
  • 赤坎网站建设公司长沙网站建设
  • 五屏网站建设怎样现在百度怎么优化排名
  • tp框架做响应式网站广告投放方案
  • 企业型网站建设费用2021网络营销成功案例
  • 东莞企业营销seo关键词优化推广价格
  • 自己电脑做网站教程今日头条搜索引擎
  • 上海网站制作机构网站建设公司好