首先說明一下背景: 為什么要在DOS界面編譯C/C++源程序?有很多現成的開發環境(IDE)如:vs, vc++等,這些開發環境集成了編譯,調試,使用起來很方便,而且圖形化操作界面,簡潔明了。但是在開發環境中編譯程序,需要建立一個工程,當我只需要編譯單個小的測試文件時,比喻 輸出helloword!這樣的單個小文件,在IDE中編譯,仍然需要建立一個工程,這有點麻煩;所以在DOS界面中調用編譯器來編譯一個單獨的C/C++文件,就顯得很方便了;
如何在DOS界面中調用 編譯器 來編譯C/C++源程序?(這里以調用vs2012的編譯器 cl.exe 來編譯test.c文件為例)
第一種方法:手動設置環境變量 (添加系統變量,使系統能夠找到編譯器和相應的鏈接文件)
(注:編輯環境變量時,環境變量的路徑最好不要直接復制文字來編輯,這樣添加的路徑往往無效,最好是新建變量后,點擊“瀏覽目錄”添加變量路徑)
1,編輯系統變量PATH,在后面加入(
每個變量后面要用;隔開)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin (引入cl 編譯器)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE (引入mspdb100.dll文件,如果不加這個路徑到系統變量中,也可以直接將mspdb100.dll文件復制到上面那個路徑的文件夾下)
INCLUDE: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include (告訴系統include文件的位置)
3,新建環境變量
LIB:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib (告訴系統lib庫文件的位置)
4,打開cmd窗口, 進入cpp文件目錄,如:cd C:\users\dell\Desktop, 然后輸入命令 cl test.c 運行,可能會提示如下錯誤:
“LINK:fatal error LNK 1104:cannot open file 'kernel32.lib“ ;
解決辦法: kernel32.lib是Windows系統文件,此文件在文件夾C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib 中,將其復制到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib 中;
5,再輸入命令 cl test.c 運行,會提示生成 test.exe, test.obj 文件,然后輸入test.exe 運行,就能輸出結果了
第二種方法:運行批處理文件 .bat 代替手動設置環境變量 (這里就顯示了批處理文件的作用了)
1,可以自己用記事本寫一段簡單的批處理文件.bat, 其內容就是設置環境變量,如下:
set path=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
set include=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
set lib=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
set include=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
set lib=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
如果不會寫,可以直接運行vs提供的批處理文件vcvarsall.bat (文件位置:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\目錄下)
打開cmd窗口進入文件所在目錄:cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC,然后輸入文件名 vcvarsall.bat 運行;(每次關閉dos后,再打開,都要運行一次)