如何用在命令行下使用VC編譯器

    首先聲明:高手請路過即可,謝謝支持!

    現在恐怕很多人已經沒有試過在命令行下使用微軟的編譯器cl來編譯和運行程序了,VS提供的IDE環境能夠很方便的組織程序。但是個人覺得明白編譯鏈接的來龍去脈對於理解程序和程序的運行機制是很有好處的。

      自從學習編程語言以來,很少用過cmd來編譯和運行程序。前些日子在看關於Linux的書籍,在終端上用過一段時間後,後來也想在windows的命令行上試試。首先,我們需要知道,在windows系統下的命令行下可以用cl命令來編譯程序,但是前提是需要已經安裝了VC。對於VC6,在安裝的時候可以勾選安裝環境變量來解決這個問題。對於VC6以上的版本,則需要設置環境變量。

      好吧,廢話少說,我以安裝了VS2005(我的安裝路徑爲E:\Program Files\VS),系統爲WindowsXP爲例。

      首先你可以在命令行下輸入cl命令。結果如下圖:

     

      這可能說明兩個問題,第一是你根本沒有安裝VC或者VS;第二就是沒有設置好,我們這裏要解決的問題是第二類。

      1.右鍵我的電腦->屬性->高級->環境變量->Path->編輯。如下圖所示。

     

      在變量值(V)一行的後面添加;E:\Program Files\VS\VC\bin。注意,分號是爲了與前面的路徑相互隔開。

      2.現在可以去命令行試下cl命令了。會發現cl命令還是用不了,提示缺失dll文件。

     

      mspdb80.dll這個庫文件存在於安裝路徑下的E:\Program Files\VS\Common7\IDE中,爲了能找到該庫文件,我們同樣設置環境變量,如1.在Path的變量值後面添加;E:\Program Files\VS\Common7\IDE。重新用dos命令行運行一下cl命令。現在可以用了,會出現版本,用法等提示。如下圖:

     

     3.現在,建立一個C++程序,以最簡單最熟悉的Hello world爲例。程序命名爲hw.cpp,路徑爲E:\。具體代碼如下:

#include <iostream>

int main()
{
	printf("Hello, World!\n");	
	return 0;
}

      運行dos,把目錄改爲當前程序所在的E目錄下,運行命令cl hw.cpp。結果還是不能成功編譯,提示不能打開iostream,因爲找不到路徑。

     

      按照前面的思路,我們把安裝路徑下的E:\Program Files\VS\VC\include和E:\Program Files\VS\VC\lib也通過環境變量設置加入。具體操作方法是,我的電腦->屬性->高級->環境變量->新建。變量名自己設置,我把它設爲include,然後變量值爲E:\Program Files\VS\VC\include。同樣新建一個環境變量來加入lib的路徑,變量名設爲lib,變量值爲E:\Program Files\VS\VC\lib。(如果不包含路徑E:\Program Files\VS\VC\lib,用cl編譯會提示缺失庫文件。)

      再次去dos下運行cl命令。然後運行程序。

      這次,我的程序運行成功了!很熟悉的Hello World!。

     

      4.如果你能通過編譯,但連接時候提示LINK : fatal error LNK1104:無法打開文件“kernel32.lib”,則把C:\Program Files\MicrosoftSDKs\Windows\v5.0A\Lib目錄下的kernel32.lib拷貝到E:\Program Files\VS\VC\lib目錄下即可。






           轉載請註明出處。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章