综合

img snaill

[原创]每日构建实践篇(二)

发表于2004/10/13 13:11:00  1468人阅读

分类: 项目管理

     之前我们已经获取了当前项目的所有的代码,并把他们放入了指定的目录。下面是如何构建这些代码。本文以介绍VC的批处理过程,要注意的是,VC6的处理过程和VC.NET是不同,首先我们来看VC6如何命令行构建代码。

1.   创建mak文件

直接使用VC6的项目文件是无法在命令行编译的,所以要先导成.mak文件。

VC IDE的菜单中有导出的功能,他会在工程目录下生成一个对应的mak文件。另外,在VC的设置中可以设置保存项目文件同时导出mak文件,选中这个功能你的mak文件和项目文件就同步了。

最后一个工作就是把mak文件加入版本管理软件。这是应该还有一个dep文件,它描述了项目中文件的依赖项,由于这些项使用的都是相对路径,是个相当危险的东西,建议不加入,虽然这样编译的时候会出现找不到.dep文件的提示。

需要注意的是,当你的项目在版本管理软件控制下,如果mak文件没有Check Out,导出失败是没有提示的,所以在工程文件Check Out的时候,同时Check Out mak文件是一个必须养成的好习惯。

2.   设置编译路径

如果在安装的时候没有选择设置环境变量的选项,则需要在编译程序运行之前设置编译所需路径。

VC的标准路径,VC6保存在VC98/bin/VCVARS32.BAT中,可以将BAT中的内容直接拷贝到自己的脚本里。标准脚本如下:

@echo off

rem

rem Root of Visual Developer Studio Common files.

set VSCommonDir=C:/PROGRA~1/MICROS~3/Common

 

rem

rem Root of Visual Developer Studio installed files.

rem

set MSDevDir=C:/PROGRA~1/MICROS~3/Common/msdev98

 

rem

rem Root of Visual C++ installed files.

rem

set MSVCDir=C:/PROGRA~1/MICROS~3/VC98

 

rem

rem VcOsDir is used to help create either a Windows 95 or Windows NT specific path.

rem

set VcOsDir=WIN95

if "%OS%" == "Windows_NT" set VcOsDir=WINNT

 

rem

echo Setting environment for using Microsoft Visual C++ tools.

rem

 

if"%OS%"=="Windows_NT" set PATH = %MSDevDir%/BIN;%MSVCDir%/BIN;%VSCommonDir%/TOOLS/%VcOsDir%;%VSCommonDir%/TOOLS;%PATH%

if "%OS%" == "" set PATH="%MSDevDir%/BIN";"%MSVCDir%/BIN";"%VSCommonDir%/TOOLS/%VcOsDir%";"%VSCommonDir%/TOOLS";"%windir%/SYSTEM";"%PATH%"

set INCLUDE=%MSVCDir%/ATL/INCLUDE;%MSVCDir%/INCLUDE;%MSVCDir%/MFC/INCLUDE;%INCLUDE%

set LIB=%MSVCDir%/LIB;%MSVCDir%/MFC/LIB;%LIB%

 

set VcOsDir=

set VSCommonDir=

 

然后需要添加自定义的路径,对应VC中的路径设置项%PATH%前面添加Executable files;%INCLUDE%前面添建Include files; %LIB%前面添加Library files。

注意:如果使用了类似#import <msxml3.dll>的指令,一定要在%PATH%前面添加windows的系统路径:

%windir%/System32

3.   使用namke.exe构建

编译目录设置之后,就可以直接使用一下命令构建工程:

nmake myproject.mak

使用-clean参数清除编译项:

nmake –clean myproject.mak

使用CFG来设置编译设置

nmake mapchina.mak CFG="MyProject - Win32 Debug"

注意:CFG的值可以从mak文件和工程文件中获得。Mak文件包含一个默认的设置,如果没有提供CFG的值,将会使用这个默认设置编译。

 

nmake提供的其他命令和参数,请参看MSDN的相关文档

阅读全文
0 0

相关文章推荐

img
取 消
img