分享10个国外优秀的平面设计网站,模板网站与定制网站的定位,网站做关键词排名每天要做什么,seo网站建设方案一步一步创建VC2008解决方案 现在软件开发已经告别了“独行侠”的年代#xff0c;而是以团队开发为主。一般情况下#xff0c;一个解决方案都会包含多个项目#xff0c;比如#xff1a;其中一些是静态库项目#xff0c;一些是动态库项 目#xff0c;当然还会有应用程序… 一步一步创建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里面打开解决方案。 在软件开发的时候一般都会使用版本控制程序如VSSPerforce等来对源代码进行管理代码以及目录结构都会存放在服务器上。如果目录结构需 要改变那么针对每个客户端上的开发者来说重新构建开发目录结构是一个很麻烦的事情。而有了上面这个批处理文件一切都变的容易了只要修改这个批处理 文件中的环境变量就行了。每个开发人员都可以根据自己的情况来修改文件中第一部分的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 version1.0 encodinggb2312 ? 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文件夹内的文件打包即可。 其实上面的例子只是一个很小的解决方案。在一些中型或者大型的软件开发过程中解决方案肯定比这个要庞大很多相关的目录结构和配置也会复杂很多那样就更能体现出上面的方法和步骤的优点。