我在 vs code 中的 opengl 设置不起作用

问题描述 投票:0回答:1

所以我想尝试一些 OpenGL,并尝试使用 GLFW、CMake 和 MSYS2 为其设置 VS Code。 我可以使用 CMake 构建我的项目并使用

MyProject.exe
启动它,但是当我尝试使用 MSYS 在 VS Code 中运行或调试它时,我收到一条消息,指出在
GLFW/glfw3.dll
中使用它时找不到
#include <GLFW/glfw3.dll>
,并且出于某种原因,它正在
.exe
而不是
/project/src
中查找我的
/project/build
文件。有谁知道如何制作或已经准备好设置吗?

我在网上找不到任何解决方案,所以我询问了ChatGPT并尝试添加一些配置文件。 我更改的是

launch.json
tasks.json
c_cpp_properties.json
CMakeLists.txt
CMakePresets.txt

c++ visual-studio-code opengl cmake glfw
1个回答
-3
投票

问题1:缺少GLFW/glfw3.dll

配置 VS Code 以查找 GLFW 库。您可以通过在项目目录中添加包含以下内容的

launch.json
文件来完成此操作:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "GLFW Debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/MyProject.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [
                {"name": "PATH", "value": "${workspaceFolder}/build;${env:PATH}"}
            ],
            "externalConsole": true
        }
    ]
}

在这里,我们告诉 VS Code 在

MyProject.exe
目录中启动
build
可执行文件,并将
GLFW/glfw3.dll
库添加到系统的 PATH 环境变量中。

问题2:项目目录不正确

要解决此问题,您可以创建一个包含以下内容的

tasks.json
文件:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "Build and Run MyProject",
            "command": "${workspaceFolder}/build/MyProject.exe",
            "args": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

此任务将使用

CMake
生成器构建您的项目并运行生成的可执行文件。

附加配置

要使 VS Code 识别您的 CMake 项目,您可以在项目目录中创建一个

CMakeLists.txt
文件,其中包含以下内容:

cmake_minimum_required(VERSION 3.10)
project(MyProject)

set(CMAKE_CXX_COMPILER "gcc")
set(CMAKE_CXX_STANDARD 14)

add_executable(${PROJECT_NAME} src/main.cpp)

此 CMakeLists.txt 文件告诉 CMake 使用

gcc
编译器并链接到 GLFW 库,为您的项目生成 Makefile。

最终设置

要完成设置,请确保项目目录中有以下文件:

  • CMakeLists.txt
    :CMake 配置文件。
  • launch.json
    :启动配置文件。
  • tasks.json
    :构建和运行任务配置文件。
  • MyProject.exe
    :CMake 生成的可执行文件。
© www.soinside.com 2019 - 2024. All rights reserved.