• 用vcbuild在命令行编译Visual Studio工程


    用vcbuild在命令行编译Visual Studio工程

    最近升级到了VS2008,发现原来的ACE又不能用了,虽然我不大喜欢ACE,但由于工作需要不得不需要重新编译ACE+TAO。公司配的破电脑编译ACE还凑合着使,开着VS2008编译TAO就有点力不从心了(工程太多,文件太多),只听cpu风扇在哗啦啦的响,然后电脑就在那儿慢慢悠悠的跑(以前我都是在家里把TAO编好了,再将二进制文件拿到公司来用的)。

    于是我便想到,直接在命令行下编译,可能会快不少,可是找到找去,没看到nmake可用的Makefile文件,记得以前可用将VC的项目导出为Makefile了,现在却找不着了,网上查了一下,在VS2005以后的版本中,提供了一个vcbuild的工具,可以直接编译Visual Studio的项目,解决方案。

    vcbuild的命令格式如下:
    VCBUILD [options] [project | solution] [config | $ALL]

    Msdn中也没有很多的介绍,只有一些options的说明,实际的例子如下:
    vcbuild /rebuild dftj_tools_vc8.sln "Release|Win32"

    由于"Release|Win32"中带了一个'|'符号,所以不能直接用,需要用引号括起来。

     

    这里提供一下我写的一个bat文件,可以一次性编译ACE+TAO(需要设置好环境变量和config.h)。
    cd %ACE_ROOT%\ace
    vcbuild /upgrade ACE_vc8.vcproj
    vcbuild ACE_vc8.vcproj "Debug|Win32"

    cd %ACE_ROOT%\apps\gperf\src
    vcbuild /upgrade gperf_vc8.vcproj
    vcbuild gperf_vc8.vcproj "Debug|Win32"

    cd %TAO_ROOT%\TAO_IDL
    vcbuild /upgrade TAO_IDL_vc8.sln
    vcbuild TAO_IDL_vc8.sln "Debug|Win32"

    cd %TAO_ROOT%/tao
    vcbuild /upgrade tao_vc8.sln
    vcbuild tao_vc8.sln "Debug|Win32"

    cd %TAO_ROOT%\orbsvcs
    vcbuild /upgrade orbsvcs_vc8.sln
    vcbuild orbsvcs_vc8.sln "Debug|Win32"

    另外,附上一个我在unix底下编译ACE+TAO的shell脚本。
    #!/bin/csh

    #install ace
    cd $ACE_ROOT/ace;
    rm -f config.h;
    ln -s config-sunos5.9.h config.h;

    cd $ACE_ROOT/include/makeinclude;
    rm -f platform_macros.GNU;
    ln -s platform_sunos5_g++.GNU platform_macros.GNU;

    cd $ACE_ROOT/ace; gmake;

    #install tao
    cd $ACE_ROOT/apps/gperf/src; gmake;

    cd $TAO_ROOT/TAO_IDL; gmake;
    cd $TAO_ROOT/tao; gmake;
    cd $TAO_ROOT/tao/orbsvcs; gmake;

     

    通过命令行编译,确实要简洁很多,Visual Studio固然强大,看来也有其不灵活的地方。

  • 相关阅读:
    排序算法总结
    设计模式---(简单工厂模式,工厂模式,抽象工程模式),单例模式,代理模式,装饰器
    网易编程题——牛牛的闹钟
    Python + sqlalchemy + Pandas + Mysql 实现自动创建表,插入数据
    cucumber
    加油
    重新学习python爬虫
    python 网址
    《高兴》 贾平凹 摘抄
    funny python
  • 原文地址:https://www.cnblogs.com/TianFang/p/969908.html
Copyright © 2020-2023  润新知