1. 程式人生 > >命令列下cl.exe編譯連結的問題及解決方法

命令列下cl.exe編譯連結的問題及解決方法

cl.exe 是控制 Microsoft C 和 C++ 編譯器以及連結器的工具。cl.exe 只能在支援 Microsoft Visual Studio 的作業系統中執行。 編譯器產生通用物件檔案格式 (COFF) 物件 (.obj) 檔案。 連結器產生可執行檔案 (.exe) 或動態連結庫檔案 (DLL)。 

在windows命令列下,輸入cl,若系統提示“'cl'不是內部或外部命令,也不是可執行的程式或批處理檔案。”說明VS沒有安裝或者環境變數設定不正確。本機是已經安裝了VS2010的,所以需要設定一下環境變數。在系統變數的Path路徑下新增如下內容:“E:\Program Files\Microsoft Visual Studio 10.0\VC\bin

”(結合VS的安裝路徑自行設定)。

在命令列輸入cl時,出現“丟失mspdb100.dll”的問題時,需要把“E:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\mspdb100.dll”複製到“E:\Program Files\Microsoft Visual Studio 10.0\VC\bin\”下面。這樣問題就得到解決了。

設定好後,這樣就可以在命令列下輸入cl就不會出錯了。嘗試執行如下命令:

cl E:\RE\hello.cpp /FaE:\RE\hello.asm
出現錯誤“fatal error C1034: stdio.h: no include path set
”,解決方法是在環境變數中新建LIB和INCLUDE變數,在LIB中設定如下值:“E:\Program Files\Microsoft Visual Studio 10.0\VC\lib”;在INCLUDE中設定如下值:“E:\Program Files\Microsoft Visual Studio 10.0\VC\include

出現錯誤“fatal error LNK1104: cannot open file “kernel32.lib解決方法是在環境變數中新建的LIB變數中增加值:“C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib”。

完成以上設定之後,就可以正常執行cl進行編譯了。

cl E:\RE\hello.cpp /FaE:\RE\hello.asm /FeE:\RE\hello.exe
執行以上命令,就會在E:\RE目錄下生成hello.obj、hello.exe、hello.asm三個檔案。