精华内容
下载资源
问答
  • vs配置opengl所需glut

    2017-09-04 20:15:06
    visual studio 版本配置opengl时所需的glut库,解压后可得到5个文件:glut.h,glut.dll,glut32.dll,glut.lib,glut32.lib。
  • VSCode配置OpenGL

    万次阅读 多人点赞 2019-03-06 14:14:25
    原文地址: ... 第一步: 首先配置C++环境,已配置的可跳过这一步,没配置的点下面链接: https://github.com/hu243285237/Cpp_Study/tree/master/VSCodeConfigCpp 第二步: 构建...

     

    第一步:

    首先配置C++环境,已配置的可跳过这一步,没配置的可以点下面链接:

    https://blog.csdn.net/m0_37250299/article/details/88232932


    第二步:

    构建我们开发OpenGL的工具,我这里使用的GLFW_3.2.1,可以到它的官网下载:

    https://www.glfw.org/download.html

    (Windows pre-compiled binaries是指已经构建好的GLFW,可以直接下载来使用,如果你和我一样是Win10系统并且用的MinGW32位编译,可以直接下载这个,这里我们下载32位的)

    (SourcePackage指的是源文件,下载完之后还需要使用CMake之类的工具来构建GLFW,如果你不确定你电脑的环境能否支持Windows pre-compiled binaries里已经构建好的GLFW,可以下载SourcePackage,但流程也会相对复杂,这里不详细说明)

     


    第三步:

    现在新建一个vscode工程(就是一个文件夹),在.vscode文件夹创建一个c_cpp_properties.json,还是用之前C++配置的,直接拷贝过来就好。(经测试,也可以省略这一步,不需要创建这个json文件)


    第四步:

    将刚才下载的glfw-3.2.1.bin.WIN32解压,找到lib-mingw和include这两个文件夹,将里面的.h文件.a文件.dll文件都拷贝到工程里。

    然后再找到MinGW的安装目录,将lib文件夹里的libopengl32.a也拷贝进工程。


    第五步:

    必要的文件我们都有了,这时候创建一个main.cpp文件,就可以使用GLFW和GL的库来编写OpenGL代码了。

        #include <iostream>
        #include <GL/gl.h>
        #include "glfw3.h"
    
        int main()
        {
            GLFWwindow* window;
    
            if (!glfwInit()) return -1;
    
            window = glfwCreateWindow(480, 320, "TestOpenGL", NULL ,NULL);
    
            if (!window)
            {
                glfwTerminate();
                return -1;
            }
    
            glfwMakeContextCurrent(window);
    
            while (!glfwWindowShouldClose(window))
            {
                glBegin(GL_TRIANGLES);
    
                glColor3f(1.0, 0.0, 0.0);
                glVertex3f(0.0, 1.0 ,0.0);
    
                glColor3f(0.0, 1.0, 0.0);
                glVertex3f(-1.0, -1.0 ,0.0);
    
                glColor3f(1.0, 0.0, 1.0);
                glVertex3f(1.0, -1.0 ,0.0);
    
                glEnd();
    
                glfwSwapBuffers(window);
    
                glfwPollEvents();
            }
    
            glfwTerminate();
            
            return 0;
        }

    第六步:

    在终端输入以下两条命令:

    g++ main.cpp -o test libglfw3dll.a libopengl32.a

    .\test

    就可以看到绘制出来的窗口了


    工程地址:

    https://github.com/hu243285237/VSCodeConfigOpenGL

    展开全文
  • 之前分享过一篇关于VSCode配置C/C++的教程:点击跳转 在搭建OpenGL环境的时候,总结一下更完整的教程 准备工作 下载安装Clang 下载地址:点击跳转 安装目录:C:\LLVM ,注意选一下 添加环境变量 安装后的目录: ...

    dsd

    之前分享过一篇关于VSCode配置C/C++的教程:点击跳转
    在搭建OpenGL环境的时候,总结一下更完整的教程

    准备工作

    下载安装Clang

    下载地址:点击跳转

    QQ截图20190919203852.png

    安装目录:C:\LLVM ,注意选一下 添加环境变量

    jdsadh

    安装后的目录:

    jdsadh

    下载MinGW-W64

    下载地址:点击跳转

    jdsadh

    解压(不用安装)目录:C:\mingw64

    jdsadh

    合并文件

    复制C:\mingw64目录下的所有文件,直接粘贴到C:\LLVM(clang安装目录)文件夹下,系统会自动整合同名文件夹下的文件,整合之后:

    jdsadh

    这时候可以测试一下,是否配置成功: clang -v , gcc -v

    jdsadh

    下载配置OpenGL相关依赖(glut)

    • glut.h点击跳转
      下载后放到目录:C:\LLVM\include
    • glut32.dll点击跳转
      下载后放到目录:C:\LLVM\bin
    • glut32.lib点击跳转
      下载后放到目录:C:\LLVM\lib

    VSCode安装插件

    C/C++ : 点击跳转

    jdsadh

    vscode-clangd : 点击跳转

    jdsadh

    Code Runner : 点击跳转

    jdsadh

    VSCode配置文件

    用户设置文件:settings-json

    {
        "workbench.colorTheme": "Atom One Light",
        "files.defaultLanguage": "cpp", // ctrl+N新建文件后默认的语言
        "editor.formatOnType": true, // (对于C/C++)输入分号后自动格式化当前这一行的代码
        "editor.suggest.snippetsPreventQuickSuggestions": false, // clangd的snippets有很多的跳转点,不用这个就必须手动触发Intellisense了
        "editor.acceptSuggestionOnEnter": "off", // 我个人的习惯,按回车时一定是真正的换行,只有tab才会接受Intellisense
        // "editor.snippetSuggestions": "top", // (可选)snippets显示在补全列表顶端,默认是inline
    
        "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入
        "code-runner.executorMap": {
            "c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
            "cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -lglut32 -lglu32 -lopengl32 -std=c++17 && $dir$fileNameWithoutExt"
            // "c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
            // "cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -std=c++17 && $dir$fileNameWithoutExt"
        }, // 控制Code Runner命令;未注释的仅适用于PowerShell(Win10默认),文件名中有空格也可以编译运行;注释掉的适用于cmd(win7默认),也适用于PS,文件名中有空格时无法运行
        "code-runner.saveFileBeforeRun": true, // run code前保存
        "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
        "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息,默认false
        "code-runner.ignoreSelection": true, // 默认为false,效果是鼠标选中一块代码后可以单独执行,但C是编译型语言,不适合这样用
    
        "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
        "C_Cpp.errorSquiggles": "Disabled", // 因为有clang的lint,所以关掉;如果你看的是别的答主用的不是vscode-clangd,就不要加这个了
        "C_Cpp.autocomplete": "Disabled", // 同上;这几条也可以考虑放到全局里,否则很多错误会报两遍,cpptools一遍clangd一遍
        "C_Cpp.suggestSnippets": false,
        "explorer.confirmDelete": false, // 同上
    }
    

    项目文件夹下新建-vscode文件夹,新建launch-json、task-json、c-cpp-properties-json文件

    launch-json:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
                "type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
                "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
                "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
                "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
                "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录
                "environment": [], // 环境变量
                "externalConsole": false, // 为true时使用单独的cmd窗口,与其它IDE一致;1810月后设为false可调用VSC内置终端
                "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
                "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但我没试过lldb
                "miDebuggerPath": "gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则不要
                "setupCommands": [
                    { // 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": false
                    }
                ],
                "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
            }
        ]
    }
    

    task.json

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
                "command": "clang++", // 要使用的编译器,C++用clang++;如果编译失败,改成gcc或g++试试,还有问题那就是你自己的代码有错误
                "args": [
                    "${file}",
                    "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
                    "${fileDirname}/${fileBasenameNoExtension}.exe",
                    "-g", // 生成和调试有关的信息
                    "-Wall", // 开启额外警告
                    "-static-libgcc", // 静态链接libgcc,一般都会加上
                    "--target=x86_64-w64-mingw", // clang的默认target为msvc,不加这一条就会找不到头文件;用gcc或者Linux则掉这一条
                    "-std=c++17", // C++最新标准为c++17,或根据自己的需要进行修改
                    "-lglut32",//使用glut
                    "-lglu32",
                    "-lopengl32"
                    ], // 编译命令参数
                "type": "shell", // process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
                "group": {
                    "kind": "build",
                    "isDefault": true // 不为true时ctrl shift B就要手动选择了
                },
                "presentation": {
                    "echo": true,
                    "reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档
                    "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义
                    "panel": "shared" // 不同的文件的编译信息共享一个终端面板
                }
                // "problemMatcher":"$gcc" // 此选项可以捕捉编译时终端里的报错信息;本文用的是clang,开了可能会出现双重报错信息;只用cpptools可以考虑启用
            }
        ]
    }
    

    c_cpp_properties.json

    {
        "configurations": [
          {
            "name": "MinGW",
            "intelliSenseMode": "clang-x64",
            //这里注意下目录
            "compilerPath": "C:/LLVM/bin/gcc.exe",
            "includePath": [
              "${workspaceFolder}"
    
            ],
            "defines": [],
            "browse": {
              "path": [
                "${workspaceFolder}"
              ],
              "limitSymbolsToIncludedHeaders": true,
              "databaseFilename": ""
            },
            "cStandard": "c11",
            "cppStandard": "c++17"
          }
        ],
        "version": 4
      }
    

    来个示例代码:

    #include <glut.h>
    void init();
    void display();
    int main(int argc, char* argv[]){
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
        glutInitWindowPosition(800, 150);
        glutInitWindowSize(600, 400);
        glutCreateWindow("OpenGL 3D View");
        init();
        glutDisplayFunc(display);
        glutMainLoop();
        return 0;
    }
    void init(){
        glClearColor(0.0, 0.0, 0.0, 0.0);
        glMatrixMode(GL_PROJECTION);
        glOrtho(-5, 5, -5, 5, 5, 15);
        glMatrixMode(GL_MODELVIEW);
        gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
    }
    void display(){
        glClear(GL_COLOR_BUFFER_BIT);
        glColor3f(0, 1.0, 0);
        glutWireTeapot(3);
        glFlush();
    }
    

    运行一下:

    jdsadh

    参考链接:
    1:https://www.zhihu.com/question/30315894
    2:https://www.cnblogs.com/wentao-study/p/10921381.html

    展开全文
  • VSCode+Clang+OpenGL(GLUT)

    千次阅读 2017-12-07 20:31:21
    下载并安装VSCode,Clang,MinGW64,配置好环境变量.二、编译和调试C/C++新版VSC需要在目录下进行,所以新建一个文件夹,再在文件夹中添加“.vscode”文件夹,在该文件夹下面编写四个文件,”c_cpp_properties.json”(c...

    一、配置VSCode

    参考:https://www.zhihu.com/question/30315894
    下载并安装VSCode,Clang,MinGW64,配置好环境变量.

    二、编译和调试C/C++

    新版VSC需要在目录下进行,所以新建一个文件夹,再在文件夹中添加“.vscode”文件夹,在该文件夹下面编写四个文件,”c_cpp_properties.json”(c/c++属性),”launch.json”(调试脚本),”settings.json”(本项目下的局域设置),”tasks.json”(编译脚本)。新建项目的时候,只需要将“.vscode”放进项目工作目录下就行了,而且不需要再修改,可以实现DEVC++那样的多个main函数文件。如下:
    1. 在c_cpp_properties.json中设置头文件库和链接库路径

    //c_cpp_properties.json
    {
        "configurations": [
            {
                "name": "Win32",
                "intelliSenseMode": "clang-x64",
                "includePath": [
                    "${workspaceFolder}",//可以将头文件放在工作目录下
                    "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",
                    "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",
                    "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",
                    "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include",
                    "C:/llvm/include",
                    "C:/llvm/x86_64-w64-mingw32/include",
                    "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include-fixed"
                ],
                "defines": [
                    "_DEBUG",
                    "UNICODE",
                    "__GNUC__=7",
                    "__cdecl=__attribute__((__cdecl__))"
                ],
                "browse": {
                    "path": [
                        "${workspaceFolder}",//可以将链接库放在工作目录下
                        "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",
                        "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",
                        "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",
                        "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include",
                        "C:/llvm/include",
                        "C:/llvm/x86_64-w64-mingw32/include",
                        "C:/llvm/lib/gcc/x86_64-w64-mingw32/7.2.0/include-fixed"
                    ],
                    "limitSymbolsToIncludedHeaders": true,
                    "databaseFilename": ""
                }
            }
        ],
        "version": 3
    }
    1. launch.json调试脚本
    {
        // 使用 IntelliSense 了解相关属性。
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations":
        [
            {
                "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
                "type": "cppdbg", // 配置类型,这里只能为cppdbg
                "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
                "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
                "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
                "cwd": "${workspaceFolder}", // 调试程序时的工作目录
                "environment": [], // (环境变量?)
                "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
                "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
                "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
                "miDebuggerPath": "gdb.exe", // 调试器路径。
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": false
                    }
                ],
                "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
            }
        ]
    }
    1. settings.json,本项目下的局域设置,会隐藏全局设置,但只在本项目成立,文件最下面有全局环境配置,可以自行修改。
    {
        //安装的插件列表:Bracket Pair Colorizer,C/C++ for Visual Studio Code,C/C++ Clang Command Adapter,C/C++ Snippets,Code Runner,GBKtoUTF8,Include Autocomplete,OneDark-Pro,Python
        "files.defaultLanguage": "cpp", // ctrl+N新建文件后默认的语言
    
        "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法交互
        "code-runner.executorMap": {
            "c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
            "cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c++17 && $dir$fileNameWithoutExt"
        }, // 设置code runner的命令行
        "code-runner.saveFileBeforeRun": true, // run code前保存
        "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
        "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息
    
        "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
        "C_Cpp.intelliSenseEngine": "Default", // 可以为Default或Tag Parser,后者较老,功能较简单。具体差别参考cpptools插件文档
        "C_Cpp.errorSquiggles": "Disabled", // 因为有clang的lint,所以关掉
        "editor.formatOnType": true, // 输入时就进行格式化,默认触发字符较少,分号可以触发
        "editor.snippetSuggestions": "top", // snippets代码优先显示补全
    
        "clang.cflags": [ // 控制c语言静态检测的参数
            "--target=x86_64-w64-mingw",
            "-std=c11",
            "-Wall"
        ],
        "clang.cxxflags": [ // 控制c++静态检测时的参数
            "--target=x86_64-w64-mingw",
            "-std=c++11",
            "-Wall"
        ],
        "clang.completion.enable":false // 效果稍好,但太卡,故关掉
    }
    
    /*全局设置
    {
        "editor.fontFamily": "Consolas, 微软雅黑", // 控制编辑器字体
        "editor.fontSize": 18,
        "workbench.colorTheme": "One Dark Pro", // 主题
        "files.trimTrailingWhitespace": true, // 保存时,删除每一行末尾的空格
        "workbench.colorCustomizations": {
                "activityBar.foreground": "#33ff66" // 自定义颜色
            },
        "git.enabled": true, // 如果你不用git,我建议你关闭它
        "editor.minimap.enabled": false, // 我个人不用minimap,就是右边那个东西
        "editor.dragAndDrop": false, // 选中文字后,可以拖动它们调整位置。我是不需要
        "files.autoGuessEncoding": true // 启用后,会在打开文件时尝试猜测字符集编码
    
    }
    */
    1. “tasks.json”,编译文件,类似于CMAKE。
    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
                {
                    "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
                    "command": "clang++", // 要使用的编译器
                    "args": [
                        "${file}",
                        "-o", // 指定输出文件名,不加该参数则默认输出a.exe
                        "${fileDirname}/${fileBasenameNoExtension}.exe",
                        "-g", // 生成和调试有关的信息
                        "-Wall", // 开启额外警告
                        "-static-libgcc", // 静态链接
                        // "-lglut32",//使用glut
                        // "-lglu32",
                        // "-lopengl32",
                        "-fcolor-diagnostics",
                        "--target=x86_64-w64-mingw", // 默认target为msvc,不加这一条就会找不到头文件
                        "-std=c++11" // C语言最新标准为c11,或根据自己的需要进行修改
                    ], // 编译命令参数
                    "type": "shell",
                    "group": {
                        "kind": "build",
                        "isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提
                    },
                    "presentation": {
                        "echo": true,
                        "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档
                        "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译c和c++来说,设为true没有意义
                        "panel": "shared" // 不同的文件的编译信息共享一个终端面板
                    }
                    //"problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的注释符,并在上一条之后加个逗号。照着我的教程做的不需要改(也可以把这行删去)
                }
            ]
    }

    VSCode本身只类似于sublime,需要安装插件才能实现各种语言的IDE,C/C++安装的插件有:Bracket Pair Colorizer,C/C++ for Visual Studio Code,C/C++ Clang Command Adapter,C/C++ Snippets,Code Runner,GBKtoUTF8,Include Autocomplete,OneDark-Pro。其功能参考帮助文档。
    至此就可以完成DEVC++的大部分功能了,而且可扩展性更强。

    三、使用OpenGL库GLUT


    1. 获取glut,官方的glut是32位的,在WIN1064位系统下存在skipping incompatible编译问题,也就是兼容性问题,参考 http://web.eecs.umich.edu/~sugih/courses/eecs487/glut-howto/https://developer.nvidia.com/cg-toolkit-download,从Nvidia的CGKit中获取64位版本,即glut.h,glut32.lib,glut32.dll文件,都需要64位版本的,可以放在clang的LLVM相应路径中,也可以直接放在工作控件文件夹中,在task.json中添加参数,即”args”: [ ]中,”-lglut32”,”-lglu32”,”-lopengl32”,注意每个参数都要逗号隔开。

    展开全文
  • 安装好VScode后,开始配置C++环境 安装LLVM: Download LLVM 页面往下翻,找到这行,点击Windows(64-bit) 下载后点击,除了 自定义安装地址(记住你的安装地址)和 添加到环境变量,其余默认安装点击下一步即可 ...

    本教程适用于Windows 64位操作系统

    安装VScode:

    官网下载
    VSCode详细安装教程

    安装好VScode后,开始配置C++环境

    安装LLVM:

    Download LLVM
    页面往下翻,找到这行,点击Windows(64-bit)
    在这里插入图片描述

    下载后点击,除了 自定义安装地址(记住你的安装地址)和 添加到环境变量,其余默认安装点击下一步即可
    添加到环境变量

    安装MinGW:

    Download MinGW
    页面往下翻,找到x86_64-win32-seh,原地址下载太慢,这里给个蓝奏下载
    在这里插入图片描述
    下载完后解压,将解压后的东西全部剪切粘贴到之前LLVM的安装路径下,会发现文件夹的名字一致,内容不冲突。
    在这里插入图片描述

    检测环境变量

    打开命令行
    输入clang -v
    gcc -v
    出现类似信息后正常
    在这里插入图片描述
    如果出现xxx不是内部或外部命令也不是程序则需要添加环境变量
    右击我的电脑-属性-高级系统设置-环境变量-点击系统变量下的PATH-编辑-新建-填入LLVM安装目录下的bin文件夹,类似下面
    在这里插入图片描述

    VScode运行C++ 程序Hello World

    检测VScode能否运行普通的C++程序
    VScode打开后点击左侧扩展,搜索安装插件code runner,C++,和AI补全插件tabnine
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    然后创建文件,另存为C++文件
    写个hello world

    #include <iostream>
    using namespace std;
     
    int main() 
    {
        cout << "Hello, World!";
        return 0;
    }
    

    右上角点击运行,输出hello world

    添加openGL相关组件

    openGL组件下载
    由于尝试安装openGL时见过了无数报错,搜集了各种方法,这是在排除了多个报错后的集成简化版本,所以我也不清楚哪些是真的有用的(基本上是报一次错加一个东西),但是这整个放一起是能用的(奇妙

    下载后解压,能看到五个文件夹
    在这里插入图片描述

    1. 打开LLVM的安装目录
      分别将压缩包里的bin,include,lib文件夹里的内容解压粘贴到LLVM目录下相应的bin,include,lib文件夹内

    2. 打开C:\Windows\System32和C:\Windows\SysWOW64
      将压缩包里System32与SysWOW64内的dll文件分别粘贴到上述文件夹内,如果出现重复请选择跳过

    3. 在任意处创建一个编写openGL项目的文件夹
      将压缩包里的VScode配置文件夹内的.vscode文件夹粘贴到上述文件夹内,然后将launch.json文件内"miDebuggerPath"项修改成你LLVM下的gdb.exe的路径。
      在这里插入图片描述

    测试VScode下的openGL

    打开VScode,文件-打开文件夹-选择刚才创建的编写openGL项目的文件夹,新建文件-另存为C++文件,画个三角形

    #define FREEGLUT_STATIC // Define a static library for calling functions
    #include <GL/freeglut.h> // Include the header file
    void renderScene(void) // Function for geometric creation
    {
    // Clear the buffer to the predefined color and depth value
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    //Move origin of current user coordinate system to the screen center: similar to a reset operation
    glLoadIdentity();
    glBegin(GL_TRIANGLES); // Start draw TRIANGLE function
    glVertex3f(-0.5, -0.5, 0.0); // Set coordinates of first vertex
    glVertex3f(0.5, 0.0, 0.0); // Set coordinates of second vertex
    glVertex3f(0.0, 0.5, 0.0); // Set coordinates of last vertex
    glEnd(); // End draw TRIANGLE function
    glutSwapBuffers(); // Refresh the screen to display the graphics
    }
    int main(int argc, char* argv[]) // Standard main function
    {
    glutInit(&argc, (char**)argv); // Initialization
    // Define display mode: depth buffer, double buffer and RGBA color
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(100, 100); // Define the location of the window
    glutInitWindowSize(320, 320); // Define the size of the window
    glutCreateWindow("Hello OpenGL"); // Create a window called “Hello OpenGL”
    glutDisplayFunc(renderScene); // Set the first function
    glutMainLoop(); // Enter the GLUT event processing loop
    return 0; // Return an integer value
    }
    

    点击右上角三角形运行,或者右键代码区域选择run code,完成
    在这里插入图片描述

    总结

    大部分情况下按照网上教程按步骤进行就可以,中途出现报错的话直接搜索报错内容就能够解决。
    但是也有直接搜索不能解决的,这时候就需要动动脑子了
    如一开始按照网上教程运行test.cpp后,出现无法找到 cannot find -lglut32的报错,百度搜索该报错并没有发现解决方法。但是观察可以发现这是缺少glut32.lib库文件,于是直接搜索glut32.lib下载后放到lib文件夹内解决问题
    在这里插入图片描述


    参考:
    VSCode详细安装教程
    在vscode配置C++环境(clang编译器) 傻瓜式配置向导
    OpenGL程序运行提示glut32.dll丢失问题

    展开全文
  • VSCode14.1配置简单OpenGL环境(Win10_64位+mingw64+glut

    千次阅读 热门讨论 2020-01-10 13:52:29
    VSCode14.1配置简单OpenGL环境(Win10_64位+mingw64+glut) 我并不是专业搞OpenGL开发的,只是这学期选的课用到了C++和OpenGL,这两者对我来说都比较陌生,之前只学过一些基础的C语言,用VSCode只是因为我是一只颜狗...
  • 在开始配置OpenGL的开发环境 参考:https://blog.csdn.net/huangkangying/article/details/82022177 使用apt安装OpenGL及相关的开发包 配置步骤: sudo apt-get install build-essential libgl1-mesa-dev sudo apt-...
  • VSCode配置OpenGL走过不少弯路,写成博客的方式记录一下配置步骤以免重新配置的时候又得到处找博客教程。 以前我用的编译器是gcc,而现在改用clang,编译起来感觉clang更快,出错提示也更友好,如果你不想改用clang编译,...
  • 十分钟最简便配置mac+OpenGL+vscode

    千次阅读 2020-07-06 01:31:44
    brew就类似应用商场,在线安装app,然后配置软连接,方便增删改查 2、下载glad 这个步骤只是上网下载代码拷贝进项目,具体步骤如下 参考了某个链接VSCode+CMake搭建OpenGL开发环境 准备 glad 进入下载界面下载 glad...
  • 1.首先需要保证Ubuntu安装配置了OpenGL+glad+glfw 可以参考这两篇博客 (1)第一步配置OpenGL 如何在Ubuntu 14.04下安装OpenGL开发环境...2.vscode配置 打开一个文件夹,创建main.cpp,我这用的是learnOpenGL上创建
  • VsCode+Clang+MinGw64+OpenGL(glut)——64位环境搭建 一、写在前面 1.为什么选择VsCode+Clang+MinGW64进行C/C++开发? 首先,VsCode是一款轻量级文本编辑器,可以通过插件等扩展出适合自己的开发环境,它几乎支持...
  • VScode运行调试C,C++代码部分 一、 (1)首先要安装MinGW(此处我选择的是64位的版本) 点击此处进行下载MinGW-w64 (2)然后要进行相关环境变量的配置: 右键我的电脑 → 属性 → 高级系统设置 → 高级 →环境变量 然后...
  • vscode配置opengl环境会遇到一些问题,这里是在看了一些博文之后给出的一篇完整的可行的配置首先,要配置C++环境,网上有很多完整的配置C++环境的教程,这里就引用一条上面这篇博文里面使用的是64位环境(!...
  • vscode设置代码感知

    2020-06-04 18:55:44
    vscode设置代码感知 在C++项目中,C/C++ 和CMake Tools插件配合...方法一:配置c_cpp_properties.json文件 按F1后输入C/C++ Edit Configurations(UI),打开插件设置 2. 设置包含路径,在以下设置中写入搜索路径 [外链
  • } 在文件夹中新建main.cpp,input.txt, output.txt,使用freopen绑定input.txt和stdin, output.txt和stdout Ctrl + Alt + N for running the code, 在input.txt中输入,output中输出 以上配置来自 ...
  • 因为如果不配置好的话,操作会比较麻烦。 注意:我这里是在windows下编写Linux程序。 例如在使用VS Code编辑C/C++程序在没有配置好的情况下,会出现如下图情况, 出现这种情况的原因是 在VS Code没有找到头文件。...
  • vscode + cmake 的C++项目模板

    千次阅读 2018-12-05 10:05:40
    文件中包含了关于VSCode编辑器的一些配置文件。 c_cpp_properties.json 文件中主要是配置头文件查找路径,当使用到第三方库,比如Boost,OpenCV等,就需要在这个文件中添加这些库的头文件路径。 setting.json ...

空空如也

空空如也

1 2 3
收藏数 60
精华内容 24
关键字:

vscode配置glut