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

posts - 16,  comments - 34,  trackbacks - 0

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



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

測試cl的環(huán)境是否配置妥當, 可以執(zhí)行如下測試:
win鍵+R 啟動運行 -> 輸入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 版
版權所有(C) Microsoft Corporation。保留所有權利。

用法: cl [ 選項... ] 文件名... [ /link 鏈接選項... ]

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

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

cl文件版本與VS版本、VC產品版本、_MSC_VER宏的對應關系如下

VS版本

VC產品版本號

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不是內部或外部命令,也不是可運行的程序或批處理文件。”
說明cl不在Path環(huán)境變量中。

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

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

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



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

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

VC6在安裝的時候,會彈出一個對話框,讓你選擇是否注冊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

(復選框) Register Environment Variables

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

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


所以, 一個辦法是重新安裝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了。


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

vc9

可以根據(jù)它們,給VC8、9設置環(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án)境變量,也就是說:

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

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


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

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

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

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

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

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



四、 總結

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

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

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

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


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



相關鏈接:

——《配置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é)議進行許可。

轉載請注明 :
文章作者 - OwnWaterloo
發(fā)表時間 - 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)  編輯 收藏 引用
<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用鏈接

留言簿(8)

隨筆檔案(16)

鏈接

搜索

  •  

積分與排名

  • 積分 - 198794
  • 排名 - 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>
            国产日韩欧美91| 在线免费观看视频一区| 亚洲天堂第二页| 亚洲美女在线一区| 99re6热只有精品免费观看| 亚洲日本aⅴ片在线观看香蕉| 亚洲欧美亚洲| 久久久久久夜精品精品免费| 美女精品视频一区| 最新国产成人av网站网址麻豆| 亚洲精品三级| 亚洲欧美卡通另类91av| 久久久久一区二区三区| 欧美国产日韩一区二区在线观看| 欧美精品乱码久久久久久按摩| 国产精品国产馆在线真实露脸| 国产日韩欧美综合在线| 亚洲经典三级| 91久久国产综合久久| 一区二区三区欧美视频| 国产日韩在线不卡| 国产视频久久久久| 国产精品99免视看9| 久久精品国产免费观看| 亚洲精品日韩综合观看成人91| 亚洲级视频在线观看免费1级| 美女尤物久久精品| 亚洲精品中文字幕在线观看| 美女视频黄 久久| 你懂的成人av| 欧美视频一区二区三区四区| 国产日本亚洲高清| 亚洲第一主播视频| 亚洲一区二区视频| 久久中文精品| 中国成人在线视频| 欧美精品一区二区三区高清aⅴ| 欧美精品久久天天躁| 国产精品一区二区在线观看网站| 狠狠色2019综合网| 欧美成人小视频| 欧美视频中文在线看 | 久久久久久久综合色一本| 欧美一级大片在线免费观看| 久久久久欧美精品| 国内久久视频| 午夜久久影院| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产一区久久久| 99国产精品视频免费观看| 亚洲美女电影在线| 噜噜噜91成人网| 久久精品夜色噜噜亚洲aⅴ| 国产精品成人一区| 亚洲欧美日韩精品久久亚洲区| 亚洲大胆人体在线| 美女尤物久久精品| 在线一区二区三区四区| 亚洲永久免费视频| 黄色国产精品| 蜜臀久久久99精品久久久久久 | 先锋影音久久久| 日韩视频在线免费| 国产精品永久| 久热成人在线视频| 香蕉久久精品日日躁夜夜躁| 国产精品视频免费一区| 久久精品国产亚洲一区二区三区| 久久久综合网| 亚洲少妇最新在线视频| 亚洲福利久久| 国产精品免费看片| 亚洲精品你懂的| 最新高清无码专区| 欧美美女bb生活片| 亚洲在线一区二区| 久久久久综合| 91久久精品视频| 欧美国产精品v| 国产精品免费网站| 亚洲欧美日韩国产精品| 久久成人免费| 狠狠色噜噜狠狠色综合久| 国产农村妇女毛片精品久久麻豆| 噜噜噜久久亚洲精品国产品小说| 久久精品夜色噜噜亚洲a∨| 久久久久久电影| 久久久精品国产99久久精品芒果| 国产乱码精品一区二区三区不卡 | 黄色日韩网站视频| 亚洲美女毛片| 一区二区三区高清在线| 欧美四级在线观看| 亚洲在线一区二区| 免费看的黄色欧美网站| 亚洲高清资源综合久久精品| 老妇喷水一区二区三区| 欧美激情欧美激情在线五月| 一本色道久久综合亚洲91| 欧美日韩亚洲一区二区三区| 宅男噜噜噜66国产日韩在线观看| 夜夜爽av福利精品导航| 欧美日韩123| 亚洲综合好骚| 亚洲国产精品专区久久| 亚洲欧美国产精品桃花| 亚洲第一色中文字幕| 国产精品一区二区久久久| 欧美精品一区二区三区久久久竹菊| 小处雏高清一区二区三区| 男人的天堂亚洲在线| 亚洲三级色网| 激情文学一区| 国产一区二区三区高清| 久久久久9999亚洲精品| 亚洲日韩成人| 国产欧美日韩在线视频| 欧美日韩三区四区| 欧美伦理在线观看| 欧美经典一区二区| 欧美成人按摩| 欧美成人精品在线观看| 久久大逼视频| 欧美一区二区在线免费观看| 中文国产成人精品久久一| 亚洲精品国产日韩| 亚洲乱亚洲高清| 亚洲欧洲另类| 亚洲欧洲一区二区在线播放| 亚洲第一精品久久忘忧草社区| 免费试看一区| 欧美激情精品久久久六区热门 | 亚洲最新在线| 亚洲一区不卡| 久久久久久久久伊人| 欧美国产精品久久| 欧美日韩国产精品一区二区亚洲| 噜噜噜噜噜久久久久久91| 欧美精品aa| 欧美日韩在线大尺度| 国产精品久久久久久久久免费| 国产日韩一区二区三区在线播放| 一区二区亚洲| 亚洲欧美日韩一区二区三区在线观看 | 亚洲新中文字幕| 欧美一级淫片aaaaaaa视频| 久久精品国产免费观看| 国产日韩精品在线| 国产亚洲欧美一区二区| 亚洲精品一级| 久久久久九九九九| 日韩视频免费在线| 久久久久久国产精品mv| 国产精品福利久久久| 精品成人久久| 久久精品人人爽| 亚洲一二三区视频在线观看| 欧美黑人一区二区三区| 在线观看亚洲专区| 久久精品99国产精品日本| 国产精品99久久久久久久久| 欧美激情在线播放| 在线播放亚洲一区| 美日韩在线观看| 久久久久久亚洲精品不卡4k岛国| 国产美女诱惑一区二区| 一本综合精品| 亚洲国产成人精品久久久国产成人一区 | 久久精品三级| 亚洲自拍偷拍福利| 国产精品自拍视频| 久久久久久久一区二区| 香蕉视频成人在线观看| 亚洲高清在线观看| 欧美大片在线看| 久久亚洲精品中文字幕冲田杏梨 | 中日韩在线视频| 欧美激情久久久| 91久久极品少妇xxxxⅹ软件| 伊人久久婷婷| 欧美va亚洲va国产综合| 亚洲人成艺术| 亚洲尤物精选| 国产精品视频yy9099| 亚洲午夜在线观看| 久久xxxx精品视频| 怡红院精品视频| 欧美精品三区| 夜夜嗨av色综合久久久综合网| 亚洲一区二区在线看| 亚洲女ⅴideoshd黑人| 国产精品igao视频网网址不卡日韩| 久久久美女艺术照精彩视频福利播放| 亚洲欧美国产视频| 亚洲精品日韩综合观看成人91| 亚洲视频 欧洲视频| 亚洲高清激情| 国内精品福利| 欧美激情久久久久| 一本一本a久久|