安裝VS2022
VS2022的安裝程序下載地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 。下載完成之后點擊程序會進入到選擇安裝VS2022組件的安裝程序,選擇你需要的安裝組件就好,如果只需要C++的程序就僅安裝C++就好了。 這樣會輕便很多。
我安裝好的目錄結構如下圖:
編寫hello world程序
編寫一個最簡單的C++ hello word程序.
#include <iostream>
using namespace std;
int main()
{
std::cout<< "hello world " << endl;
return 0;
}
配置cl.exe
VC++
的編譯程序為cl.exe
。
以我本機安裝的VS2022
目錄為例,編譯程序在目錄D:\dev\vs2022\ide\VC\Tools\MSVC\14.31.31103\bin
下.
在該目錄上還有針對主機64位
和X86
的兩個文件夾目錄。比如我的是64
位的。那我選Hostx64
,然后進入目錄又有要編譯后的程序是選64
還是X86
的兩個目錄,如果要編譯64
位的程序,選擇x64
文件夾就好了。 這樣最終到達了cl.exe
所在的目錄.
為了方便后續(xù)使用命令, 將改路徑配置到環(huán)境變量
Path
路徑中。
現(xiàn)在新開一個命令窗口cmd.exe
。可以直接運行cl.exe
了。
編譯helloworld.cpp
進入到helloworld.cpp
文件目錄. 然后在命令行直接編譯該文件
cl.exe -GX helloworld.cpp
以上操作不錯意外的報錯了。 看報錯原因是找不到iostream
這個頭文件。頭文件的目錄在哪里啦?應該也會在這個VS2022
的目錄中, 以我本地的環(huán)境為例。目錄在D:\dev\vs2022\ide\VC\Tools\MSVC\14.31.31103\include
.這里存在很多需要的頭文件。 接下將這個目錄配置到INCLUDE
環(huán)境變量中。
重新啟動cmd.exe
編譯(一定要重開cmd
,要不然不會重新加載系統(tǒng)的環(huán)境變量.
重新編譯已經(jīng)不再報找不到頭文件iostream
啦, 但是依然找不到必須的頭文件“crtdbg.h”
??磥?code>crtdbg.h不在剛才的目錄下。crtdbg.h
一般會在以個WIndows Kits
的目錄下. 我本地環(huán)境中可以找到在目錄D:\Windows Kits\10\Include\10.0.20348.0\ucrt
中.
這里面也很多頭文件, 那也把這個目錄配置到INCLUDE
環(huán)境變量中。
再試編譯。見上,已經(jīng)不再報找不到頭文件了。 但是報無法做鏈接操作了,因為找不到靜態(tài)庫
libcpmt.lib
。
在前面的MSVC
目錄下已經(jīng)能主要到一個lib
。D:\dev\vs2022\ide\VC\Tools\MSVC\14.31.31103
.在目錄lib
下也有兩個針對不同平臺的目錄x86
和x64
把該目錄配置到系統(tǒng)環(huán)境變量LIB
中。
再次編譯。
再次編譯,報錯找不到kernel32.lib了。我本機也在D:\Windows Kits\10\Lib\10.0.20348.0\um\x64
下。
把目錄D:\Windows Kits\10\Lib\10.0.20348.0\um\x64
也配置到系統(tǒng)環(huán)境變量LIB
中。
配置完成之后再進行編譯操作.
根據(jù)以上配置的經(jīng)驗,應該也能推測出在Windows Kits
下能找到了。繼續(xù)追加系統(tǒng)環(huán)境變量LIB
。
再次嘗試編譯是否能通過.
通過上面不斷的修正錯誤,已經(jīng)可以完全通過了。程序已經(jīng)成功輸出了helloworld.exe
。
文章來源:http://www.zghlxwxcb.cn/news/detail-447041.html
總結
VC
編譯使用的是cl.exe
(當然中間還有一些編譯鏈接的過程,直接被包裝進去了)。 在編譯過程中主要牽扯到了頭文件
和靜態(tài)鏈接庫
.他們使用的環(huán)境變量分別為INLUDE
和LIB
。如果編譯相應報錯就嘗試修改追加該參數(shù)的值就能解決響應的問題。羅里吧嗦,主要是為了拋磚引玉,更能在青銅選手上解決該問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-447041.html
到了這里,關于【01】一步一步命令行輸出VC hello world的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!