cl.exe test.cpp /ehsc /i」c:/opencv2.0/include/opencv/」 cv200.lib highgui200.lib cxcore200.lib /link /libpath:」c:/opencv2.0/vs2008/lib」
/libpath小寫也可以/libpath
網上找到的「經典用法」
cl *.cpp /g7 /md /ox /ot /w3 /c /ehsc /i」g:/visual c++/vc98/platformsdk/include」
link *.obj rc.res /libpath:」g:/visual c++/lib」 /subsystem:windows /machine:x86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib
mfc 開發如下:
編譯源**:
cl *.cpp /ox /ot /g7 /d 「win32」 /d 「_windows」 /d 「_afxdll」 /ehsc /md /arch:sse2 /w3 /c
資源編譯 :
rc /l 0x804 winmfc.rc
鏈結 :
link *.obj winmfc.res /out:winmfc.exe /opt:nowin98 /subsystem:windows /machine:x86
cl [option…] file… [option | file]… [lib…] [@command-file] [/link link-opt…]
下表說明cl 命令的輸入項意義
option 乙個或多個 cl 選項。請注意,所有選項都應用於所有指定的原始檔。選項是由乙個正斜槓 (/) 或乙個短劃線 (–) 指定的。如果某個選項帶有引數,則該選項的說明指定在選項和引數之間是否允許有空格。選項名(/help 選項除外)區分大小寫。有關更多資訊,請參閱 cl 選項的順序。
lib 乙個或多個庫名。cl 將這些名稱傳遞給鏈結器。
command-file 包含多個選項和檔名的檔案。有關更多資訊,請參閱 cl 命令檔案。
link-opt 乙個或多個鏈結器選項。cl 將這些選項傳遞給鏈結器。
您可以指定任意數目的選項、檔名和庫名,條件是命令列上的字元數不超過 1024,該限制是作業系統指定的。
注意,所有編譯器選項都區分大小寫。
若要編譯但不鏈結,請使用 /c。
使用 nmake 生成輸出檔案。
使用 bscmake 支援類瀏覽。
選項 作用
/o1 建立小**
/o2 建立快速**
/oa 假設沒有別名
/ob 控制內聯展開
/od 禁用優化
/og 使用全域性優化
/oi 生成內部函式
/op 改善浮點數一致性
/os **大小優先
/ot **速度優先
/ow 假定在函式呼叫中使用別名
/ox 使用最大優化 (/ob1gity /gs)
/oy 省略框架指標
選項 作用
/clr 啟用c++ 的託管擴充套件並產生在公共語言執行庫上執行的輸出檔案
/eh 指定異常處理模型
/g3 優化**以優選386處理器。在visual c++ 5.0中已經停用,編譯器將忽略此選項
/g4 優化**以優選486處理器。在visual c++ 5.0中已經停用,編譯器將忽略此選項
/g5 優化**以優選pentium
/gb 與/g6等效;將 _m_ix86的值設定為600
/gd 使用__cdecl 呼叫約定
/ge 啟用堆疊探測
/gf
/gf 啟用字串池
/gh 呼叫掛鉤函式_penter
/gh 呼叫掛鉤函式_pexit
/gl 啟用全程式優化
/gm 啟用最小重新生成
/gr 啟用執行時型別資訊(rtti)
/gr 使用 __fastcall 呼叫約定
/gs 控制堆疊探測
/gt 支援使用靜態執行緒本地儲存區分配的資料的纖程安全
/gx 啟用同步異常處理
/gy 啟用函式級鏈結
/gz 使用 __stdcall 呼叫約定
/md 使用 msvcrt.lib 建立多執行緒 dll
/mdd 使用 msvcrtd.lib 建立除錯多執行緒 dll
/ml 使用 libc.lib 建立單執行緒可執行檔案
/mld 使用 libcd.lib 建立除錯單執行緒可執行檔案
/mt 使用 libcmt.lib 建立多執行緒可執行檔案
/mtd 使用 libcmtd.lib 建立除錯多執行緒可執行檔案
選項 作用
/fa 建立列表檔案
/fa 設定列表檔名
/fd 重新命名程式資料庫檔案
/fe 重新命名可執行檔案
/fm 建立對映檔案
/fo 建立物件檔案
/fp 指定預編譯頭檔名
/fr
/fr 生成瀏覽器檔案
/fx 將插入的**與原始檔合併
選項 作用
/gs 緩衝區安全檢查
/gz 與 /rtc1 相同
/rtc 啟用執行時錯誤檢查
/wp64 檢測 64 位可移植性問題
/yd 將完整的除錯資訊放在所有物件檔案中
/yl 建立除錯庫時插入 pch 引用
/z7 生成與 c 7.0 相容的除錯資訊
/zd 生成行號
/zi 生成完整的除錯資訊
選項 作用
/nobool 取消 c++ bool、true 和 false 關鍵字
/vd 取消或啟用隱藏的 vtordisp 類成員
/vmb 對指向成員的指標使用最佳的基
/vmg 對指向成員的指標使用完全一般性
/vmm 宣告多重繼承
/vms 宣告單一繼承
/vmv 宣告虛擬繼承
/za 禁用語言擴充套件
/zc 在 /ze 下指定標準行為
/ze 啟用語言擴充套件
/zg 生成函式原型
/zl 從 .obj 檔案中移除預設庫名
/zpn 封裝結構成員
/zs 只檢查語法
七、鏈結
選項 作用
/f 設定堆疊大小
/ld 建立動態鏈結庫
/ldd 建立除錯動態鏈結庫
/link 將指定的選項傳遞給 link
/md 使用 msvcrt.lib 編譯以建立多執行緒 dll
/mdd 使用 msvcrtd.lib 編譯以建立除錯多執行緒 dll
/ml 使用 libc.lib 編譯以建立單執行緒可執行檔案
/mld 使用 libcd.lib 編譯以建立除錯單執行緒可執行檔案
/mt 使用 libcmt.lib 編譯以建立多執行緒可執行檔案
/mtd 使用 libcmtd.lib 編譯以建立除錯多執行緒可執行檔案
八、預編譯頭
選項 作用
/y- 忽略當前生成中的所有其他預編譯頭編譯器選項
/yc 建立預編譯標頭檔案
/yd 將完整的除錯資訊放在所有物件檔案中
/yu 在生成期間使用預編譯標頭檔案
/yx 自動處理預編譯頭
九、雜項
選項 作用
@ 指定響應檔案
/? 列出編譯器選項
/c 編譯但不鏈結
/h 限制外部(公共)名稱的長度
/help 列出編譯器選項
/j 更改預設的 char 型別
/nologo 取消顯示登入版權標誌
/qi0f 確保 pentium 0f 指令沒有問題
/qifdiv fdiv、fprem、fptan 和 fpatan 指令有缺陷的 intel pentium 微處理器的變通方法
/qifist 當需要從浮點型別轉換為整型時取消 helper 函式 _ftol 的呼叫
/showincludes 在編譯期間顯示所有包含檔案的列表
/tc
/tc 指定 c 原始檔
/tp
/tp 指定 c++ 原始檔
/v 設定版本字串
/w 設定警告等級
/w 禁用所有警告
/wall 啟用所有警告,包括預設情況下禁用的警告
/wl 在從命令列編譯 c++ 源**時啟用錯誤資訊和警告訊息的單行診斷
/zm 設定編譯器的記憶體分配限制
cl命令列編譯Cpp
假設你的電腦安裝了vs2010 其它版本也可以 1.修改環境變數 d program files microsoft visual studio 10.0 vc bin 以及mspdb60.dll的路徑 d program files microsoft visual studio 10.0 com...
C基礎網路程式設計 能用CL編譯
server.c include include include include include pragma comment lib,ws2 32.lib void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 sockcl...
cl 編譯器環境配置問題
cl 編譯器是microsoft 推出的應用於wins 平台上的c c 編譯器 類似於linux系統上的gcc,g 等。實時上vs2015整合開發環境就是呼叫cl.exe來進行原始碼編譯的,所以可以直接在shell中執行 cl option.filename.link linkoption.編譯 我...