跳转至

环境配置(vscode+cmake+EasyX+MSYS2 MinGW64)

温馨提示:本文档并不是从零开始配置,仅作为我自己学习的记录而已。

1 配置

我是基于MSYS2 MinGW64环境配置EasyX
首先打开MSYS2 MinGW64终端
执行下述指令来更新pacman源(在此之前你可以自行搜索教程将源更换为国内源)

 pacman -Syu

之后安装gcc
pacman -S --needed mingw-w64-x86_64-gcc

--needed:这是一个优化参数,作用是只安装系统中尚未安装的包,或已安装但版本更低的包
同时安装配套工具链
pacman -S --needed mingw-w64-x86_64-toolchain

之后参考文章在 CLion、Dev-C++ 或 Code::Blocks 下面配置 EasyX(2025-9-11 更新) - CodeBus安装easyx4mingw_25.9.10
下载 easyx4mingw_25.9.10.zip,解压缩。

将 include\easyx.h 和 graphics.h 拷贝到 C:\msys64\mingw64\include 文件夹里。

将 lib64\libeasyx.a 和 libeasyxw.a 拷贝到 C:\msys64\mingw64\lib 文件夹里。

cmake我用的是之前在windows环境下安装的cmake。懒得在MinGW64环境再下载一个cmake了。你如果没有安装cmake的话,可以自行搜索教程安装一个。


Pasted image 20260217160232.png

在vscode中的 cmake tools插件配置工具链,选择msys2 mingw64的工具链,如果找不到的话,先点击扫描工具包,之后应该就能找到。

在cmake tools 插件的设置中可以更改使用的是哪个cmake程序。直接填cmake的效果就是在windows终端中直接执行cmake。


Pasted image 20260217160631.png

在项目中新建CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(EasyX_test)

set(CMAKE_CXX_STANDARD 17)

add_executable(EasyX_test main.cpp )

# 设置EasyX路径
set(EasyX_INCLUDE_DIR "C:/msys64/mingw64/include")
set(EasyX_LIB_DIR "C:/msys64/mingw64/lib")

set(EasyX_LIB_PATH "${EasyX_LIB_DIR}/libeasyx.a")

# 包含头文件目录
target_include_directories(EasyX_test PRIVATE ${EasyX_INCLUDE_DIR})

# 链接EasyX库
target_link_libraries(EasyX_test ${EasyX_LIB_PATH})

其中某些路径需要根据实际情况修改

编写测试程序main.cpp

#include <graphics.h>
#include <math.h>
#include <iostream> 

// 手动定义 M_PI
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

// 绘制心形函数
void drawHeart(int x0, int y0, int size) {
    for (double t = 0; t <= 2 * M_PI; t += 0.01) {
        // 心形的参数方程
        double x = 16 * pow(sin(t), 3);
        double y = 13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t);

        // 缩放和平移
        int px = static_cast<int>(x * size + x0);
        int py = static_cast<int>(-y * size + y0);

        // 绘制点
        putpixel(px, py, RED);
    }
}

int main() {
    // 初始化图形窗口
    initgraph(800, 600);

    // 设置背景颜色
    setbkcolor(WHITE);
    cleardevice();

    // 计算心形的中心位置
    int centerX = 400;
    int centerY = 300;
    int heartSize = 10;

    // 绘制心形
    drawHeart(centerX, centerY, heartSize);

    // 等待用户按键关闭窗口
    std::cin.get();

    // 关闭图形窗口
    closegraph();

    return 0;
}

编译并运行项目得到结果
编译可以通过指令
cmake -B build  #构建项目
cmake --build build     #编译项目

或者使用cmake tools 插件,下图中的“生成”


Pasted image 20260217161334.png

运行程序的结果如下


Pasted image 20260217161214.png

评论

如果你已登录 GitHub,就可以直接在这里评论。