如何用在命令列下使用VS編譯器
首先宣告:高手請路過即可,謝謝支援!
現在恐怕很多人已經沒有試過在命令列下使用微軟的編譯器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目錄下即可。
相關文章
- 在命令列下使用vs的編譯器命令列編譯
- 配置C#命令列編譯器C#命令列編譯
- 命令列模式下編譯ActionScript3命令列模式編譯
- Maven命令列使用:mvn clean compile(編譯)Maven命令列Compile編譯
- JNI命令列下編譯錯誤解決方案命令列編譯
- 命令列下編譯多個C/CPP檔案命令列編譯
- makefile教程---nmake命令編譯器的使用編譯
- VS CODE下編譯ROS程式編譯ROS
- [java]javap命令列反編譯Java命令列編譯
- Linux 命令列下的最佳文字編輯器Linux命令列
- VS在 x64 編譯環境下使用匯編函式編譯函式
- Linux下使用make命令編譯c原始檔Linux編譯
- mingw 編譯生成的dll 如何在vs中使用編譯
- 如何在Windows下使用make編譯MakefileWindows編譯
- 如何在命令列下使用 BitTorrent 下載 ISO 映象命令列
- 使用瀏覽器命令列編寫JavaScript程式碼瀏覽器命令列JavaScript
- 使用CMake命令編譯Android平臺下的包編譯Android
- 編譯器如何生成彙編編譯
- Windows下搭建Android NDK開發環境及命令列編譯WindowsAndroid開發環境命令列編譯
- Linux 下如何繞過編譯器優化Linux編譯優化
- 【譯】如何使用PHP快速構建命令列應用程式PHP命令列
- redhat下如何編譯bbed!Redhat編譯
- Typescript安裝及編譯《CMD命令列方法》TypeScript編譯命令列
- uni-app 通過命令列編譯打包APP命令列編譯
- Windows下編譯使用AliyunOSSCSDKWindows編譯
- GCC編譯器的使用GC編譯
- windows vs 編譯postgresqlWindows編譯SQL
- VS 編譯錯誤編譯
- ollvm在VS2017下編譯LVM編譯
- 使用VS2015 編譯Openssl編譯
- # Xcode 編譯器除錯命令(所有)XCode編譯除錯
- 如何在命令列中使用 ftp 命令上傳和下載檔案命令列FTP
- 編譯器是如何工作的?編譯
- Windows下編譯使用AliyunOSSPHPSDKWindows編譯PHP
- 使用C編譯器編寫shellcode編譯
- git在windows命令列下使用GitWindows命令列
- 如何使用Python編寫一個Lisp直譯器PythonLisp
- VS設定 LLVM-Clang 編譯器進行編譯C++專案LVM編譯C++