VSCode配置MSVC+VSCode使用easyx庫,2021.5.13日配置


VSCode配置MSVC+VSCode使用easyx庫,2021.5.13日配置~~

想必很多人和我一樣,想用vscode編程c++,easyx庫不支持MinGW,一般人都是直接使用vs2019安裝easyx庫用來GUI編程,那么愛折騰的VSCode用戶,就很難受,其實不然,解決方法很簡單,我們只需要在VSCode中配置MSVC編譯環境,再配置一下json就可以了,今天我也是看了網上很多資料,剛剛配置成功,總結一下我的經歷吧,因為使用現在網上現有的文章進行配置,一直在報錯,最后還是被我給看穿了,因為是很低級的錯誤,話不多說,干!!!

1.配置MSVC編譯環境

這一步是必須的,其實官方給出了教程,動手能力強的可以直接跟隨這個,官方給出的方法,我這里詳細說一下~~

(1)下載vs並安裝c++桌面開發組件即可

如果是第一次安裝vs,那么點擊使用c++的桌面開發,即可默認包括MSVC~~

圖片

(2)使用VS的命令提示符進入你想要打開的文件夾

最好跟我一起,新建一個新的文件夾,如果你是第一次配置,可以先在你想要配置的地方建立一個文件夾,如下圖所示,記住你文件夾的地址,或者直接復制地址~~

圖片

使用windows自帶搜索工具搜索Developer Command Prompt,右鍵管理員模式打開(其實可以不用管理員模式打開,忽視他吧,你就跟我步驟來肯定一次成功)

圖片

當然第一次你先試一下cl.exe查看是否成功安裝C++編譯器,出現版號即成功

圖片

之后輸入

code D:\testEasyx\demo          \\這里的路徑是你剛剛建立的文件夾路徑

圖片

(3)使用MSVC環境輸出你的第一個程序

之后你的vscode就會被打開

圖片

這里就是我們打開的文件夾,我們點擊這里的加號,新建文件,取個名字叫easyxdemo.cpp吧~~

圖片

在這里,我們先復制一下官方給出的cpp文件

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

按Ctrl+F5,或者點擊導航欄的運行->以非調試模式啟動,這時會讓我們選擇編譯環境,我們是msvc所以選第二個,c++(Windows)

圖片

之后會彈出這個cl.exe,我們選擇這個即可

圖片

再之后就會變成這樣,恭喜你,我們的MSVC環境成了~~

圖片

同時我們會注意到,這里自動幫我們生成了tasks.json文件,這個在后面的easyx庫配置很重要,是主要報錯點,當然現在還不是主要報錯點~~

圖片

2.安裝easyx庫

官網鏈接,直接選擇這里的下載,直接安裝到你的vs2019里~~

圖片

!!!重點

修改easyx庫文件的路徑

如果你的vs2019是c盤默認的安裝路徑的話,那么easyx頭文件和庫文件會默認安放到如下文件夾下:

C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Auxiliary\VS\lib\x64

C:\Program Files(x86)\Microsoft VisualStudio\2019\Community\VC\Auxiliary\VS\lib\x86

C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Auxiliary\VS\include

如果你的vs2019安裝路徑是你自定義的話,easyx頭文件和庫文件其實也會默認安放到\Auxiliary\VS\lib\x64,\Auxiliary\VS\lib\x86和\VC\Auxiliary\VS\include下,前面的路徑是你的ide下載路徑如圖所示~~

圖片

圖片

圖片

圖片

!!!重點

此時我們需要做的事情就是,把這6個文件,分別放在\VC\Tools\MSVC\14.28.29333\lib\x64,\VC\Tools\MSVC\14.28.29333\lib\x86和\VC\Tools\MSVC\14.28.29333\include路徑下,也就是將原來\Auxiliary\VS\lib\x64下的EasyXa.lib和EasyXw.lib復制到\VC\Tools\MSVC\14.28.29910\lib\x64路徑下,\Auxiliary\VS\lib\x86下的EasyXa.lib和EasyXw.lib復制到\VC\Tools\MSVC\14.28.29910\lib\x86,還有\VC\Auxiliary\VS\include下的easyx.h和graphics.h復制到\VC\Tools\MSVC\14.28.29910\include路徑下,慢慢來,耐心做,很簡單的~~

3.返回我們的VSCode,配置與編譯第一個使用easyx庫的文件

來了,重頭戲來了,這里我網上找了一個代碼,僅供測試使用,直接將我們剛剛easyxdemo.cpp里編寫的helloworld全部替換成這個代碼,就是用來測試,配置,與檢測是否成功的~~

原代碼作者blog鏈接,這里我們用來測試~~

#include <graphics.h>
#include <conio.h>
#include <math.h>
#define Width 640
#define Height 480
#define PI 3.14159
int main()
{
 // 初始化繪圖窗口
 initgraph(640, 480, SHOWCONSOLE);
 //秒針起始坐標
 int center_x = Width / 2, center_y = Height / 2;
 //秒針終點坐標
 int secondEnd_x, secondEnd_y;
 //分針終點坐標
 int minuteEnd_x, minuteEnd_y;
 //時針終點坐標
 int hourEnd_x, hourEnd_y;
 //秒針長度
 int secondLength = Width / 4;
 //分針長度
 int minuteLength = Width / 5.5;
 //時針長度
 int hourLength = Width / 7;
 //秒針對應轉到角度
 float secondAngle = 0;
 //分針對應轉到角度
 float minuteAngle = 0;
 //時針對應轉到角度
 float hourAngle = 0;
 //定義變量存儲系統時間
 SYSTEMTIME ti;
 BeginBatchDraw();
 while (1)
 {
  setfillcolor(YELLOW);
  setlinestyle(PS_DASHDOTDOT, 5);
  setlinecolor(0x555555);
  circle(center_x, center_y, secondLength + 30);
  setcolor(0xAAAAAA);
  setlinestyle(PS_DOT | PS_ENDCAP_SQUARE, 2);
  circle(center_x, center_y, secondLength + 15);
  for (int i = 0; i < 12; i++)
  {
int x = center_x + cos(i * 30.0 / 360 * 2 * PI) * (secondLength + 15.0);
   int y = center_y - sin(i * 30.0 / 360 * 2 * PI) * (secondLength + 15.0);
    fillcircle(x, y, 5);
  }
  GetLocalTime(&ti);
  secondAngle = (ti.wSecond / 60.0) * (2 * PI);
  minuteAngle = (ti.wMinute / 60.0) * (2 * PI);
  hourAngle = ((ti.wHour % 12) / 12.0) * (2 * PI) + (ti.wMinute / 60.0) * (2 * PI / 12.0);
  secondEnd_x = center_x + secondLength * sin(secondAngle);
  secondEnd_y = center_y - secondLength * cos(secondAngle);
  minuteEnd_x = center_x + minuteLength * sin(minuteAngle);
  minuteEnd_y = center_y - minuteLength * cos(minuteAngle);
  hourEnd_x = center_x + hourLength * sin(hourAngle);
  hourEnd_y = center_y - hourLength * cos(hourAngle);
  //畫秒針
  setlinestyle(PS_SOLID, 1);
  setcolor(WHITE);
  line(center_x, center_y, secondEnd_x, secondEnd_y);
  //畫分針
  setlinestyle(PS_SOLID, 2);
     setcolor(GREEN);
  line(center_x, center_y, minuteEnd_x, minuteEnd_y);
  //畫時針
  setlinestyle(PS_SOLID, 5);
  setcolor(RED);
  line(center_x, center_y, hourEnd_x, hourEnd_y);
  FlushBatchDraw();
  setlinestyle(PS_SOLID, 1);
  setcolor(BLACK);
  line(center_x, center_y, secondEnd_x, secondEnd_y);
  setlinestyle(PS_SOLID, 2);
  setcolor(BLACK);
  line(center_x, center_y, minuteEnd_x, minuteEnd_y);
  setlinestyle(PS_SOLID, 5);
  setcolor(BLACK);
  line(center_x, center_y, hourEnd_x, hourEnd_y);
 }
 EndBatchDraw();
 system("pause");
 closegraph();
 return 0;
}

這里我們會發現已經可以使用graphics.h頭文件了~~

圖片

但是還需要進行一步配置,還記得tasks.json么,對,就是要配置他~~

這里我們默認時是這樣的~~

圖片

現在將他改為這樣~~

原來的type:"cppbuild"改為shell,

在args中添加鏈接所需.lib~~

圖片

方便大家復制,這里貼出~~

{
    "tasks": [
        {
            "type": "shell",//需要改為shell
            "label": "C/C++: cl.exe 生成活動文件",
            "command": "cl.exe",
            "args": [
                "/Zi",
                "/EHsc",
                "kernel32.lib",//這里開始
				"gdi32.lib",
				"winspool.lib",
				"comdlg32.lib",
				"advapi32.lib",
				"shell32.lib",
				"ole32.lib",
				"oleaut32.lib",
				"uuid.lib",
				"odbc32.lib",
				"odbccp32.lib",
				"user32.lib",//這里結束
                "/nologo",
                "/Fe:",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "${file}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$msCompile"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "調試器生成的任務。"
        }
    ],
    "version": "2.0.0"
}

Ctrl+F5運行吧!一次成功!

圖片

希望我的這篇文章能夠幫到你,如果你哪里報錯了,可以評論留言,我看到了,我會解決這個錯誤就會耐心解答,本人能力也有限,希望大家都一次成功~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM