用vcbuild在命令列編譯Visual Studio工程

來源:互聯網
上載者:User
用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固然強大,看來也有其不靈活的地方。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.