惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
V
V2EX
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
A
About on SuperTechFans
博客园_首页
L
LangChain Blog
量子位
雷峰网
雷峰网
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Jina AI
Jina AI
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
VSCode 中 Cpp+EasyX 环境的配置 - 少数派
2024-10-24 · via 少数派

0. 引入

EasyX 介绍

参见 EasyX 文档 - 基本说明

前置环境

  1. VSCode
  2. C++编译器(以 MinGW-w64 为例)

直接从 EasyX 官网 下载安装程序

EasyX.exe下载

下载得到的是一个 .exe 文件,根据 EasyX 文档 - 安装 的手动安装方法所述,将 .exe 文件后缀直接改为 .7z,即可解压得到安装包的原始文件。文件结构如:

EasyX 安装程序
    ├ include <folder>
    │    ├ easyx.h                     // 头文件(提供了当前最新版本的接口)
    │    └ graphics.h                // 头文件(在 easyx.h 的基础上,保留了若干旧接口)
    ├ lib <folder>
    │    ├ VC6 <folder>
    │    │    └ x86 <folder>
    │    │        ├ EasyXa.lib        // VC6 库文件(MBCS 版本)
    │    │        └ EasyXw.lib        // VC6 库文件(Unicode 版本)
    │    ├ VC2008 <folder>
    │    │    ├ x64 <folder>
    │    │    │    ├ EasyXa.lib        // VC2008 ~ 2013 库文件(x64, MBCS 版本)
    │    │    │    └ EasyXw.lib        // VC2008 ~ 2013 库文件(x64, Unicode 版本)
    │    │    └ x86 <folder>
    │    │        ├ EasyXa.lib        // VC2008 ~ 2013 库文件(x86, MBCS 版本)
    │    │        └ EasyXw.lib        // VC2008 ~ 2013 库文件(x86, Unicode 版本)
    │    └ VC2015 <folder>
    │        ├ x64 <folder>
    │        │    ├ EasyXa.lib        // VC2015 ~ 2022 库文件(x64, MBCS 版本)
    │        │    └ EasyXw.lib        // VC2015 ~ 2022 库文件(x64, Unicode 版本)
    │        └ x86 <folder>
    │            ├ EasyXa.lib        // VC2015 ~ 2022 库文件(x86, MBCS 版本)
    │            └ EasyXw.lib        // VC2015 ~ 2022 库文件(x86, Unicode 版本)
    └ Setup.hta                        // 安装程序

2. 环境配置

根据 在 CLion、Dev-C++ 或 Code::Blocks 下面配置 EasyX(2024-6-1 更新) - CodeBus

基本上,任何开发环境配置 easyx for mingw 都只需两步:

安装库文件

下载的压缩包先解压缩,然后将 include 下的头文件和 lib32/lib64 下的库文件,分别拷贝到 MinGW 的头文件和库文件中。如果不确定具体的库文件路径,参考本文末尾的 QA 部分。

增加编译时的链接选项

链接选项增加:-leasyx,这样可以在编译的时候链接 libeasyx.a 库文件。每个项目都要这样设置一次,然后编译即可。

直接在 VSCode 中通过 Ctrl+点击 查看头文件目录:...\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++。将 EasyX 安装包中 include 文件夹下的两个头文件复制到该目录下。

在 CLion、Dev-C++ 或 Code::Blocks 下面配置 EasyX(2024-6-1 更新) - CodeBus 网页下载得到 EasyX4mingw 安装包(其实可以直接下载这个,这里面的头文件和上面解压得到的头文件完全一样),其内容如下:

easyx4mingw_xxxxxxxx.zip
    ├ include <folder>
    │    ├ easyx.h                 // 头文件(提供了当前最新版本的接口)
    │    └ graphics.h            // 头文件(在 easyx.h 的基础上,保留了若干旧接口)
    ├ lib32 <folder>
    │    └ libeasyx.a            // 针对 TDM-GCC 4.8.1 及以上版本的 32 位库文件
    ├ lib64 <folder>
    │    └ libeasyx.a            // 针对 TDM-GCC 4.8.1 及以上版本的 64 位库文件
    └ lib-for-devcpp_5.4.0
        └ libeasyx.a            // 适用于 DevCpp 5.4.0 GCC MinGW 4.7.2 和 C-Free 5.0

将其中 lib64 文件夹下的 libeasyx.a 文件复制到 ...\mingw64\lib 下。

3. 编译运行

直接编译运行

对于测试程序 test.cpp

#include <iostream>
#include <easyx.h>
using namespace std;
int main()
{
    initgraph(640, 480);
    setlinecolor(RGB(255, 0, 0));
    line(0, 0, 640, 480);
    system("pause");
    closegraph();
    return 0;
}

直接运行:g++ test.cpp -leasyx

得到 a.exe 文件,运行该文件可以看到成功:

compile & run

VSCode 配置

tasks.json 文件 参数属性 中添加 -leasyx

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "...\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-leasyx"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

参考: