计算机图形学新篇章——Games 101环境搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、如何搭建games 101学习环境
    • 1.visual code 配置
    • 2.MinGW安装
    • 3.Cmake安装
    • 4.Eigen安装
    • 5.OpenCV库编译
    • 6.配置项目


前言

距离上次更新文章已经是半年多前的事了,停更并不是因为我停止了学习新的东西而是因为这样那样的事情不得不暂时放慢脚步,现在我又开了一个新坑——计算机图形学。 该系列的文章主要是记录学习games系列图形学过程中的一些问题和一些解决方案的文章。


一、如何搭建games 101学习环境

这里我搭建的是mingw + visual studio code + cmake 的开发环境

1.visual code 配置

首先安装visual code 插件
c/c++
cmake
cmake tools
计算机图形学新篇章——Games 101环境搭建_第1张图片

2.MinGW安装

其次安装MinGW下载,下载下来是一个压缩包把里面的内容解压到你想安装的位置,然后再将该目录设置到环境变量中 例如
计算机图形学新篇章——Games 101环境搭建_第2张图片
计算机图形学新篇章——Games 101环境搭建_第3张图片
设置好后, win+r 输入cmd 打开命令提示符,然后输入g++ -v, 然后回车如果有一堆输出则说明安装成功了

3.Cmake安装

从官网下载 windows x64 installer 的安装执行文件, 安装的时候要注意
在install options的by default cmake does not add its directory to the system PATH.中,选择"Add CMake to the system PATH for all users",这样省去我们配置环境
安装完成后同样打开cmd 输入cmake -version 检查是否有版本号输出 如果有则说明安装成功

4.Eigen安装

从Eigen官网下载zip安装包 如下图
计算机图形学新篇章——Games 101环境搭建_第4张图片
下载后解压 在目录内新建build文件夹
计算机图形学新篇章——Games 101环境搭建_第5张图片
打开cmake软件,在“Where is the source code:”栏选择eigen的根目录,在“Where to build the binaries:”栏中选择刚才新建的build目录,然后点击configure,然后选择MinGW,完成后点击Generate
计算机图形学新篇章——Games 101环境搭建_第6张图片
生成完成后打开cmd 进入到刚刚新建的build 目录 输入 mingw32-make -j 8 (-j 8 的意思是使用8个线程进行编译,根据你的cup核心数和线程数选择)
完成后运行 mingw32-make install
一般前面正确配置这里不会出什么问题

5.OpenCV库编译

从官网下载opencv并安装(我用的是3.4.10版本)
打开cmake软件,在“Where is the source code:”栏选择opencv/sources的目录,在“Where to build the binaries:”栏中选择build目录,然后点击configure,然后选择MinGW 和 specify native compilers(建议这么选避免不必要的编译错误),然后点击next 设置路径
compiler C 路径为 mingw64\bin\gcc.exe(我本地路径:C:\mingw64\bin\gcc.exe)
compiler C++ 路径为 mingw64\bin\g++.exe(我本地路径:C:\mingw64\bin\g++.exe)

这里路径根据自己实际填写,然后点击finsh,点击configure,注意configure过程中是否有红色报错,有些报错是因为下载一些文件失败了。可以根据红色错误中的log日志文件提示自己手动用迅雷等工具下载放到相应位置后,再点击一次configure

在搜索位置进行如下配置

勾选 WITH_OPENGL

勾选 ENABLE_CXX11

不勾选 WITH_MSMF(这个需要一些特殊的win sdk,仅适用于vs2019那些 这里选择的是MinGWMakefiles)

不勾选 WITH_IPP(同样仅适用vs)

不勾选 WITH_TBB(同样仅适用vs)

不勾选ENABLE_PRECOMPILED_HEADERS

在这里插入图片描述

然后配置完再点一次configure,然后点击Generate

管理员权限运行cmd,进入build文件夹运行命令mingw32-make -j 8 (-j 8 的意思是使用8个线程进行编译,请根据你的计算机配置合理设置线程数)
注意如果编译过程中有error 红色报错就倒回去上一步configure配置是不是有问题,一般这里编译报错都是上一步cmake软件配置哪里出问题了

运行命令 mingw32-make install
设置opencv的环境变量,管理员权限运行cmd
执行 setx -m OpenCV_DIR D:\WorkSpace\ComputerGraphics\opencv\build\lib (根据自己目录填写)

6.配置项目

例作业1 打开cmakelist.txt 把include该为本机Eigen目录
计算机图形学新篇章——Games 101环境搭建_第7张图片
然后 按ctrl+shift+p 选择gcc
计算机图形学新篇章——Games 101环境搭建_第8张图片
然后再点击下方的build
计算机图形学新篇章——Games 101环境搭建_第9张图片
launch.json


{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\build\\Rasterizer.exe",//后面这里exe 前缀根据cmakelist 里面的项目名称变
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Build"
        }
    ]
}

task.json

{   
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceFolder}/build"
    },
    "tasks": [
        {
            "type": "shell",
            "label": "cmake",
            "command": "cmake",
            "args": [
                ".."
            ],
        },
        {
            "label": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "command": "mingw32-make.exe",
            "args": [
 
            ],
        },
        {
            "label": "Build",
            "dependsOn":[
                "cmake",
                "make"
            ]
        }
    ],
 
}

你可能感兴趣的:(计算机图形学,c++)