青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 16,  comments - 34,  trackbacks - 0

有些時(shí)候使用命令行而不是IDE去編譯源代碼會(huì)比較方便。
而在命令行下使用msvc的編譯器——cl, 需要為其配置環(huán)境



一、 環(huán)境變量測試

測試cl的環(huán)境是否配置妥當(dāng), 可以執(zhí)行如下測試:
win鍵+R 啟動(dòng)運(yùn)行 -> 輸入cmd(winnt系列)或者command(win95系列) -> 回車, 打開命令行窗口。
鍵入"cl"并回車, 如果有類似如下的輸出 :

--------------------------------------------------------------------------------
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]
--------------------------------------------------------------------------------
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]
--------------------------------------------------------------------------------
用于 80x86 的 Microsoft (R) 32 位 C/C++ 優(yōu)化編譯器 15.00.30729.01 版
版權(quán)所有(C) Microsoft Corporation。保留所有權(quán)利。

用法: cl [ 選項(xiàng)... ] 文件名... [ /link 鏈接選項(xiàng)... ]

--------------------------------------------------------------------------------

一般來說, 就可以在命令行下使用cl了。

cl文件版本與VS版本、VC產(chǎn)品版本、_MSC_VER宏的對應(yīng)關(guān)系如下

VS版本

VC產(chǎn)品版本號

cl文件版本號

_MSC_VER宏的值

98

6.x

12.x

1200

2005

8.x

14.x

1400

2008

9.x

15.x

1500




二、 測試失敗

如果出現(xiàn):
1. “cl不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。”
說明cl不在Path環(huán)境變量中。

2. 找不到xxx.dll。
cl在Path環(huán)境變量中, Path中缺少必要的dll的路徑。

3. 上述測試通過, 但是在編譯時(shí)出現(xiàn)找不到頭文件或者庫。
說明Path環(huán)境變量中有cl和必要dll的路徑, 但是仍缺少其他一些環(huán)境變量。

這些情況, 都需要進(jìn)一步配置環(huán)境變量。



三、 配置環(huán)境變量

        三.1 、讓安裝包幫助注冊環(huán)境變量

VC6在安裝的時(shí)候,會(huì)彈出一個(gè)對話框,讓你選擇是否注冊VC6的環(huán)境變量。如下:

For your convenince, the environment variables required to run build tools from a command prompt are saved in the VCVARS32.BAT in your BIN directory

(復(fù)選框) Register Environment Variables

Turn on this option to register environment variables for running Visual C++ tools from the command line.

默認(rèn)復(fù)選框是沒有選中的。
如果選中, 安裝完畢后就會(huì)添加必要的環(huán)境變量。


所以, 一個(gè)辦法是重新安裝VC6(反正很小,相對于VC8、9安裝十分快速)。


        三.2 、手工添加環(huán)境變量

以VC6舉例,我們可以在 :“我的電腦” -> “屬性” -> “高級” -> “環(huán)境變量”中添加如下變量:

%Path%="prefix\Microsoft Visual Studio\VC98\Bin";%Path%
cl.exe所在路徑。

%include%="prefix\Microsoft Visual Studio\VC98\Include";%include%
%lib%="prefix\Microsoft Visual Studio\VC98\Lib";%lib%
C/C++以及Platform SDK

%include%="prefix\Microsoft Visual Studio\VC98\MFC\Include";%include%  
%lib%="prefix\Microsoft Visual Studio\VC98\MFC\Lib";%include%
MFC

%include%="prefix\Microsoft Visual Studio\VC98\ATL\Include";%include%
ATL

(其中的prefix是安裝目錄的前綴)之后就可以在命令行中使用cl了。


同時(shí), VC6、8、9都提供了一個(gè)批處理vcvars32.bat
我們可以查看相應(yīng)的vcvars32.bat最終做了什么工作,而手工加入需要的變量。
下內(nèi)容摘自我機(jī)器上的vsvars32.bat(VC8、9的vcvars32.bat最終調(diào)用它們):
vc8

vc9

可以根據(jù)它們,給VC8、9設(shè)置環(huán)境變量。


      三.3 、使用vcvars32.bat

上面提到vcvars32.bat,它們的位置如下:

VC6  prefix\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT
VC8  prefix\Microsoft Visual Studio 8\VC\bin\vcvars32.bat
VC9  prefix\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat

需要注意的是: 這些批處理文件只會(huì)在當(dāng)前進(jìn)程中設(shè)置(局部的)環(huán)境變量,也就是說:

1. 用cmd(或者command)打開的命令行窗口中, 運(yùn)行某個(gè)vcvar32.bat一次。
那么當(dāng)前命令行窗口中就可以正常使用cl,直到關(guān)閉。

2. 寫批處理文件需要使用call prefix\vcvars32.bat,而不是直接啟動(dòng)vcvars32.bat。
前者為當(dāng)前進(jìn)程(cpl.bat創(chuàng)建的進(jìn)程)添加局部于進(jìn)程環(huán)境變量。
后者啟動(dòng)一個(gè)進(jìn)程, 為其加入環(huán)境變量, 然后該進(jìn)程立即退出——沒有任何作用。


      三.4、 使用VSXXCOMNTOOLS變量(VC8、9)

對于VC8、9有另一種方式——不注冊全局的(系統(tǒng)或當(dāng)前用戶)環(huán)境變量,僅為當(dāng)前進(jìn)程設(shè)置(局部的)環(huán)境變量。
因?yàn)閂C8、9都可以很方便的為單個(gè)進(jìn)程設(shè)置環(huán)境變量。

觀察vc8和vc9的vcvars32.bat的內(nèi)容(位置見上), 發(fā)現(xiàn)它們都只有一行:
"%VS80COMNTOOLS%vsvars32.bat"
"%VS90COMNTOOLS%vsvars32.bat"

VS80COMNTOOLS、VS90COMNTOOLS(注意不是VC而是VS)分別是VS2005和VS2008安裝后會(huì)設(shè)置的環(huán)境變量。
所以我們也可以在自己的批處理中,很方便的為當(dāng)前進(jìn)程設(shè)置需要的環(huán)境變量。如下:

call "%VS80COMNTOOLS%vsvars32.bat"
以下cl命令將執(zhí)行VC8的cl。

call "%VS90COMNTOOLS%vsvars32.bat"
以下cl命令將執(zhí)行VC9的cl。



四、 總結(jié)

如果僅需要使用某個(gè)版本的VC, 并且只為自己方便而使用命令行, 可以使用上面任何一種方式。
簡單歸納如下:

1、 使用全局環(huán)境變量——在系統(tǒng)或當(dāng)前用戶變量中加入需要的值。
        1.1 重新安裝
        1.2 手工加入

2、 不使用全局環(huán)境變量
——在執(zhí)行cl前,先使用對應(yīng)的vcvars32.bat(命令行窗口中執(zhí)行或者腳本中call prefix\vcvars32.bat)。

        2.1 將vcvars32.bat加入Path變量
        2.2 使用"%VSXXCOMNTOOLS%vsvars.bat" (VC8、9) 或者 absolutePath\vcvars32.bat


如果需要使用多個(gè)版本的VC、 或者需要將編譯腳本發(fā)布給客戶使用, 就不能這么隨意了。
具體見:《配置msvc命令行環(huán)境(續(xù))——編寫msvc編譯腳本



相關(guān)鏈接:

——《配置msvc命令行環(huán)境(續(xù))——編寫msvc編譯腳本
http://m.shnenglu.com/ownwaterloo/archive/2009/04/16/write_compile_script_for_msvc.html


——《IDE 不是程序員的唯一選擇(一)
http://blog.codingnow.com/2008/09/replacement_of_ide_1.html



 
Creative Commons License
作品采用知識共享署名-非商業(yè)性使用-相同方式共享 2.5 中國大陸許可協(xié)議進(jìn)行許可。

轉(zhuǎn)載請注明 :
文章作者 - OwnWaterloo
發(fā)表時(shí)間 - 2009年04月15日
原文鏈接 - http://m.shnenglu.com/ownwaterloo/archive/2009/04/15/environment_for_using_cl_from_command_line.html
posted on 2009-04-15 21:29 OwnWaterloo 閱讀(58347) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(8)

隨筆檔案(16)

鏈接

搜索

  •  

積分與排名

  • 積分 - 198796
  • 排名 - 134

最新隨筆

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            ●精品国产综合乱码久久久久 | 亚洲欧洲一区二区天堂久久 | 欧美大片免费| 免费在线欧美黄色| 欧美xxxx在线观看| 欧美肉体xxxx裸体137大胆| 欧美日韩久久不卡| 国产精品久久久免费| 国产专区欧美精品| 亚洲精品永久免费| 亚洲一区在线观看视频 | 亚洲欧美在线免费观看| 午夜精品在线观看| 久久久久久日产精品| 亚洲第一福利视频| 亚洲国产精品ⅴa在线观看| 99国产精品久久久久久久成人热 | 一本色道久久综合| 亚洲欧美在线看| 久久久美女艺术照精彩视频福利播放 | 亚洲国产欧美一区| 亚洲国产精品久久久久久女王| 亚洲国产成人精品久久久国产成人一区 | 午夜精品久久久久久| 美女精品在线观看| 国产精品自在欧美一区| 亚洲精品国产精品乱码不99| 性亚洲最疯狂xxxx高清| 亚洲高清色综合| 午夜视频精品| 欧美涩涩网站| 日韩亚洲精品在线| 欧美.www| 久久精品国产免费看久久精品| 欧美日韩一区二区三区免费看 | 亚洲国产天堂网精品网站| 午夜精品福利视频| 亚洲欧洲在线播放| 久久免费视频一区| 国产亚洲精品7777| 亚洲一区二区三区影院| 亚洲国产精品久久精品怡红院| 久久国产精品久久久久久电车| 国产精品黄色| 亚洲一级在线| 99国产欧美久久久精品| 欧美激情第8页| 亚洲黄色一区| 黄色日韩精品| 午夜精品视频在线观看| 亚洲精品视频在线| 欧美激情亚洲| 91久久精品一区| 美女视频网站黄色亚洲| 亚洲一区一卡| 国产日韩精品在线| 久久精品国产一区二区三区| 亚洲欧美中文日韩在线| 欧美日韩在线精品| 亚洲综合国产| 亚洲欧美精品中文字幕在线| 国产精品嫩草99a| 欧美一区二区三区久久精品茉莉花| 亚洲一级一区| 国内揄拍国内精品少妇国语| 久久亚洲一区二区| 亚洲美女区一区| 亚洲人成久久| 亚洲区第一页| 欧美日韩国产欧美日美国产精品| 夜夜爽99久久国产综合精品女不卡| 亚洲精品免费观看| 欧美偷拍另类| 欧美综合国产| 久久综合影音| 亚洲深夜福利| 欧美一区日本一区韩国一区| 亚洲国产mv| 宅男精品导航| 激情国产一区二区| 亚洲日本久久| 国产欧美日韩亚州综合| 久久只精品国产| 欧美精品xxxxbbbb| 欧美一区二区三区视频在线| 久久久欧美精品| 亚洲一二三级电影| 久久一区亚洲| 亚洲欧美日韩区| 久久在线视频在线| 亚洲一区二区三区在线| 久久九九热免费视频| 在线视频你懂得一区| 欧美在线日韩精品| 一区二区三区免费网站| 午夜精品视频在线| 欧美一区二区免费观在线| 亚洲国产另类精品专区| 亚洲视频图片小说| 亚洲高清在线视频| 亚洲一区三区电影在线观看| 亚洲人成网站999久久久综合| 亚洲欧美国产日韩中文字幕| 亚洲精品久久久久久久久| 欧美在线免费播放| 先锋影音久久| 欧美日韩国产999| 欧美激情片在线观看| 国产欧美韩国高清| 亚洲精品美女91| 亚洲国产免费看| 久久久久久国产精品mv| 性欧美超级视频| 欧美新色视频| 99国产精品国产精品久久| 亚洲国产欧美一区| 久久av在线看| 久久福利一区| 国产精品一卡二| 在线亚洲免费| 亚洲亚洲精品三区日韩精品在线视频| 欧美成人首页| 欧美激情一区在线| 亚洲福利视频一区二区| 亚洲电影在线免费观看| 亚洲第一黄色| 久久在线免费观看| 欧美va亚洲va香蕉在线| 精品福利电影| 久久综合久色欧美综合狠狠 | 最新国产精品拍自在线播放| 99热免费精品在线观看| 裸体素人女欧美日韩| 久久亚洲色图| 激情亚洲网站| 久久久综合免费视频| 久热这里只精品99re8久| 好看的日韩视频| 久久综合久久美利坚合众国| 欧美激情成人在线视频| 亚洲国产精品尤物yw在线观看 | 美女精品在线| 亚洲日本免费| 亚洲欧美成人一区二区三区| 国产精品网站在线播放| 亚洲欧美bt| 久久国产精品久久久| 国产在线观看91精品一区| 久久本道综合色狠狠五月| 久久婷婷影院| 亚洲清纯自拍| 国产精品国产三级国产普通话三级 | 亚洲精品欧美精品| 欧美日韩在线观看视频| 99这里只有久久精品视频| 亚洲欧美美女| 一区免费观看| 欧美日本高清| 欧美一级视频| 最新成人av网站| 香蕉久久一区二区不卡无毒影院| 国产亚洲a∨片在线观看| 久久久久久久尹人综合网亚洲| 欧美顶级少妇做爰| 一区二区三区 在线观看视频| 国产精品一区二区久久久久| 久久午夜色播影院免费高清| 亚洲精品久久嫩草网站秘色| 欧美一区二区三区四区高清| 在线成人av网站| 欧美日韩一区二区三区四区在线观看 | 欧美伊久线香蕉线新在线| 你懂的视频一区二区| 一区二区三区 在线观看视| 国产一区二区三区久久久| 欧美国产一区在线| 欧美亚洲免费高清在线观看| 亚洲国产精品一区二区www在线| 亚洲欧美色一区| 最新成人av在线| 国产精品视频你懂的| 欧美1区2区3区| 欧美在线免费看| 亚洲午夜久久久久久久久电影院| 欧美激情第三页| 欧美一区2区视频在线观看| 日韩午夜在线观看视频| 极品裸体白嫩激情啪啪国产精品 | 国产精品多人| 午夜在线视频观看日韩17c| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲一区成人| 亚洲精品美女久久久久| 国产一区亚洲| 国产精品久久网| 欧美日韩国产首页在线观看| 久久综合一区| 久久这里只有精品视频首页| 亚洲欧美激情在线视频| 夜久久久久久|