基于C++自动化编译工具的使用详解

 更新时间:2020年4月25日 17:47  点击:2400
@echo off 
title=HYTradingGateway自动化编译打包工具
mode con cols=80 lines=40
echo -------------------------------------------------------------
echo 使用说明
echo.                                                            
echo HYTradingGateway自动化编译打包工具、修改
echo 使用前提:
echo 1、安装VS2008
echo 2、安装好压
echo 3、ReleaseHYTradingGateway.bat路径修改
echo.                                                            
echo 1、版本发布前删除debug下所有的,临时文件,具体类型如下
echo *.aps *.idb *.ncp *.obj *.pch *.sbr *.tmp *.pdb *.bsc
echo *.ilk *.res *.ncb *.opt *.suo *.manifest *.dep *.htm
echo.                                                            
echo 2、版本发布前删除所有bin目录下的*.pdb *.ilk *.dll *.exe文件
echo.                                                            
echo 3、HYTradingGateway项目编译,一共包含21个子项目
echo.                                                            
echo 4、编译后进行打包,并存放到Release\HYTradingGateway目录下
echo.                                                            
echo 5、发布版本者将文件上传svn就可以自动完成整个发布过程
echo.                                                            
echo 6、支持打包后文件定位
echo.                                                            
echo 7、目前不支持svn自动上传、补丁命名,后续完善
echo.                                                            
echo Visual c++ 2008
echo.                                                            
echo shaoming 2012-04-13
echo -----------------------------------------------------------
pause

mode con cols=120 lines=60

color 8A
cls

echo -----------------------------------------------------------
echo 开始清除无效文件
del /F /Q /S *.aps *.idb *.ncp *.obj *.pch *.sbr *.tmp *.pdb *.bsc *.ilk *.res *.ncb *.opt *.suo *.manifest *.dep *.htm

SET VSCMD=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv
SET ProjectCMD="F:\HyCode\HYTradingGateway

del /F /Q /S %ProjectCMD%\bin\*.pdb
del /F /Q /S %ProjectCMD%\bin\*.ilk
del /F /Q /S %ProjectCMD%\bin\unipackage*.dll
del /F /Q /S %ProjectCMD%\bin\tools.dll
del /F /Q /S %ProjectCMD%\bin\activemqTool.dll
del /F /Q /S %ProjectCMD%\bin\sqliteTool.dll
del /F /Q /S %ProjectCMD%\bin\MJSExchangeAPI.dll
del /F /Q /S %ProjectCMD%\bin\SJSExchangeAPI.dll
del /F /Q /S %ProjectCMD%\bin\*.exe

echo 清除无效文件完成
echo -----------------------------------------------------------
echo -----------------------------------------------------------
echo 开始编译HYTradingGateway
"%VSCMD%" %ProjectCMD%\tools\tools.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\activemqTool\activemqTool.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\sqliteTool\sqliteTool.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\MJSExchangeAPI\MJSExchangeAPI.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\SJSExchangeAPI\SJSExchangeAPI.sln" /Rebuild

"%VSCMD%" %ProjectCMD%\unipackage_base\unipackage_base.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_cffex\unipackage_cffex.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_ctp\unipackage_ctp.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_czce\unipackage_czce.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_dce\unipackage_dce.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_ib\unipackage_ib.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_mjs\unipackage_mjs.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_shfe\unipackage_shfe.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_szse\unipackage_szse.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage\unipackage.sln" /Rebuild

"%VSCMD%" %ProjectCMD%\unipackageBank_base\unipackageBank_base.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_boc\unipackage_boc.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackage_bbc\unipackage_bbc.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\unipackageBank\unipackageBank.sln" /Rebuild

"%VSCMD%" %ProjectCMD%\HYTradingGateway\HYTradingGateway.sln" /Rebuild
"%VSCMD%" %ProjectCMD%\TestTrade\TestTrade.sln" /Rebuild

del /F /Q /S %ProjectCMD%\bin\*.pdb
del /F /Q /S %ProjectCMD%\bin\*.ilk

echo 编译HYTradingGateway完成
echo -----------------------------------------------------------

echo -----------------------------------------------------------
echo 开始HYTradingGateway打包

Xcopy %ProjectCMD%\\bin" "E:\HYTradingGateway\bin\" /e /s /h /d /c /y
Xcopy %ProjectCMD%\\config" "E:\HYTradingGateway\config\" /e /s /h /d /c /y

rd /S /Q E:\HYTradingGateway\config\.svn
del /F /Q /S E:\HYTradingGateway\bin\*.txt
del /F /Q /S E:\HYTradingGateway\bin\*.lib
del /F /Q /S E:\HYTradingGateway\bin\*.dat

SET zipCMD=C:\Program Files\HaoZip
"%zipCMD%\HaoZipC.exe" -r -tzip a E:\HYTradingGateway-�te:~0,10%.zip E:\HYTradingGateway
copy "E:\HYTradingGateway-�te:~0,10%.zip" "F:\Release\HYTradingGateway\"

echo HYTradingGateway打包完成
echo -----------------------------------------------------------

echo 自动打开打包后存放文件夹
start "HYTradingGateway自动化编译打包工具" "F:\Release\HYTradingGateway"
pause
[!--infotagslink--]

相关文章

  • C++ STL标准库std::vector的使用详解

    vector是表示可以改变大小的数组的序列容器,本文主要介绍了C++STL标准库std::vector的使用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2022-03-06
  • C++中取余运算的实现

    这篇文章主要介绍了C++中取余运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • 详解C++ string常用截取字符串方法

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • C++中四种加密算法之AES源代码

    本篇文章主要介绍了C++中四种加密算法之AES源代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...2020-04-25
  • C++ 整数拆分方法详解

    整数拆分,指把一个整数分解成若干个整数的和。本文重点给大家介绍C++ 整数拆分方法详解,非常不错,感兴趣的朋友一起学习吧...2020-04-25
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Elasticsearch工具cerebro的安装与使用教程

    这篇文章主要介绍了Elasticsearch工具cerebro的安装与使用教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-08
  • 详解C++ bitset用法

    这篇文章主要介绍了C++ bitset用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • 浅谈C++中的string 类型占几个字节

    本篇文章小编并不是为大家讲解string类型的用法,而是讲解我个人比较好奇的问题,就是string 类型占几个字节...2020-04-25
  • C++ Eigen库计算矩阵特征值及特征向量

    这篇文章主要为大家详细介绍了C++ Eigen库计算矩阵特征值及特征向量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • 微信小程序二维码生成工具 weapp-qrcode详解

    这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
  • VSCode C++多文件编译的简单使用方法

    这篇文章主要介绍了VSCode C++多文件编译的简单使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-29
  • C++ pair的用法实例详解

    这篇文章主要介绍了C++ pair的用法实例详解的相关资料,需要的朋友可以参考下...2020-04-25
  • C++中的循环引用

    虽然C++11引入了智能指针的,但是开发人员在与内存的斗争问题上并没有解放,如果我门实用不当仍然有内存泄漏问题,其中智能指针的循环引用缺陷是最大的问题。下面通过实例代码给大家介绍c++中的循环引用,一起看看吧...2020-04-25
  • C++随机点名生成器实例代码(老师们的福音!)

    这篇文章主要给大家介绍了关于C++随机点名生成器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • C++如何删除map容器中指定值的元素详解

    map容器是C++ STL中的重要一员,删除map容器中value为指定元素的问题是我们经常与遇到的一个问题,下面这篇文章主要给大家介绍了关于利用C++如何删除map容器中指定值的元素的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。...2020-04-25
  • C++ 约瑟夫环问题案例详解

    这篇文章主要介绍了C++ 约瑟夫环问题案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-08-15
  • C++中cin的用法详细

    这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25