用VC6和Install Shield6.2进行自动化构建
来源:互联网 发布:zepto touch.js怎么用 编辑:程序博客网 时间:2024/06/13 05:06
如果一个VC的项目中,有10个或者更多的工程(Project),当我们需要进行一次完整的构建(Build)时,如果你分别用VC 打开每个工程然后Build,相信大家都会觉得很是麻烦。其实VC就自带了一个强大的自动构建的工具: nmake 。它可以帮助你完成日常的构建工作。
nmake的详细用法,你可以通过在控制台下输入:nmake /help来查看。下面我举个实际的例子。
该项目有大约十多个工程,目录结构如下:
src/+TSHA_LIB
+TSHP_CFG
+TSHA_BROW
+...
+TSHC_OPT
所有的项目文件源码位于src目录下,每个工程占用一个独立的目录。这时,我们可以编写Makefile文件如下:
VC=MSDEV.EXECFLAG_ALL=/make /rebuild
RMDIR=rmdir /S /Q
BIN_DLL_DIR=E:/Project/dvlp/client/Release/bin
DEST_DLL_DIR=E:/Project/dist/dll
DEST_BIN_DIR=E:/Project/dist/bin
all:
@echo Now building 共通
$(VC) TSHA_LIB/TSHA_LIB.dsp $(CFLAG_ALL)
@echo Now building 故障管理
$(VC) TSHP_MON_MAPX/TSHP_MON.dsp $(CFLAG_ALL)
@echo Now building 安全管理
$(VC) TSHI_SEC/TSHI_SEC.dsp $(CFLAG_ALL)
@echo Now building 资源管理
$(VC) TSHP_CFG/TSHP_CFG.dsp $(CFLAG_ALL)
@echo Now building 浏览器
$(VC) TSHA_BROW/TSHA_BROW.dsp $(CFLAG_ALL)
@echo Now building 主控画面
$(VC) MAIN_MENU/MAIN_MNU.dsp $(CFLAG_ALL)
@echo Now building TSData
$(VC) TSHA_DATA/TSHA_DATA.dsp $(CFLAG_ALL)
@echo Now building 配置管理
$(VC) TSHB_CFG/TSHB_CFG.dsp $(CFLAG_ALL)
@echo Now building 系统管理
$(VC) TSHE_SMT/TSHE_SMT.dsp $(CFLAG_ALL)
@echo Now building 综合查询
$(VC) TSHF_QRY/TSHF_QRY.dsp $(CFLAG_ALL)
@echo Now building 系能分析
$(VC) TSHP_NSO/TSHP_NSO.dsp $(CFLAG_ALL)
@echo Now building 工单管理
$(VC) TSHL_TER/TSHL_TER.dsp $(CFLAG_ALL)
@echo Now building 操作维护
$(VC) TSHC_OPT/TSHC_OPT.dsp $(CFLAG_ALL)
@echo Now removing trash
$(RMDIR) TSHA_LIB/Release
$(RMDIR) TSHP_NSO/Release
$(RMDIR) TSHP_CFG/Release
$(RMDIR) TSHF_QRY/Release
$(RMDIR) TSHE_SMT/Release
$(RMDIR) TSHB_CFG/Release
$(RMDIR) TSHA_DATA/Release
$(RMDIR) MAIN_MENU/Release
$(RMDIR) TSHA_BROW/Release
$(RMDIR) TSHI_SEC/Release
$(RMDIR) TSHP_MON_MAPX/Release
$(RMDIR) TSHL_TER/Release
$(RMDIR) TSHC_OPT/Release
copy $(BIN_DLL_DIR)/TSHA_LIB.dll $(DEST_DLL_DIR)
copy $(BIN_DLL_DIR)/TSHA_Data.dll $(DEST_DLL_DIR)
copy $(BIN_DLL_DIR)/TSHP_NSO.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHP_CFG.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHF_QRY.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHE_SMT.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHB_CFG.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/MAIN_MNU.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHA_BROW.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHI_SEC.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHP_MON.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHL_TER.exe $(DEST_BIN_DIR)
copy $(BIN_DLL_DIR)/TSHC_OPT.exe $(DEST_BIN_DIR)
对比上面的文件和你的项目结构,把它稍作修改,最好保存为‘Makefile’文件名。熟悉 UNIX的朋友都知道make使用Makefile作为配置文件,nmake亦然。把保存好的Makefile放在src目录下,在src目录下运行nmake就可以自动构建你的项目了。
很简单吧,Makefile的编写方法几乎UNIX下的Makefile相同。文件的开头是一些变量定义,比如:CFLAG_ALL是编译的参数,BIN_DLL_DIR是输出文件的位置,它和每个Project中的设置是一样的。构建后,我们可以自动调用rmdir删除目标文件,最后,把所有的.exe文件和.dll文件拷贝到Install Shield的工程目录下,在这里就是DEST_DLL_DIR和DEST_BIN_DIR 指定的目录。
Bingo,到此为止,用nmake自动构建就已经基本完成了。下面我们开始用Install Shield打包项目文件了,这个过程更简单,打开Install Shield,在菜单[Build] 中找到[Export (Build) Batch File...],输出一个.bat文件。以后你就不需要打开Install Shield,而只要执行这个.bat文件就可以给你的项目打包了。
如果你想把编译和打包一起做,你可在Makefile的最后调用打包的.bat文件。这样只要在控制台下输入nmake,1/10柱香的工夫你的项目就自动构建好了,岂不快哉。
- 用VC6和Install Shield6.2进行自动化构建
- Install Shield6.22下载
- 使用MAVEN进行工程自动化构建(2)
- 使用Jenkins进行自动化构建
- 用Ant和JUnit构建自动化测试
- CI - Jenkins自动化构建和自动化部署
- 使用MAVEN进行工程自动化构建(1)
- 使用MAVEN进行工程自动化构建
- 使用MAVEN进行工程自动化构建
- 使用CruiseControl.NET进行自动化构建总结
- Jenkins参数化构建进行自动化测试
- 用maven构建工程install和test忽略Test内容
- VC6.0中构建和配置ACE
- 用VC6进行UNICODE编程
- 用VC6进行UNICODE编程
- 用VC6进行UNICODE编程
- 用mocha和chai进行自动化测试(含实例)
- 持续集成(CI)、自动化构建和自动化测试--初探
- 史上最完整的strutc+jdbc分页程序说明例子
- 理解数据对齐
- 使用.NET 2.0成员资格管理的基本步骤
- java乱码原因
- 一些在线的WebEdit编辑器
- 用VC6和Install Shield6.2进行自动化构建
- CMM
- 在IE中实现窗口间操作下拉选框的选项
- 一个好的软件开发人员不仅仅是精通语言
- TDD的三条军规 (原文最终修订于 2006-04-09 晚上09:45:01)
- MySQL vs. PostgreSQL
- 欺骗的艺术(第四章 建立信任二)
- 欺骗的艺术(第四章 建立信任三)
- CPU烧坏了