所以我想尝试一些 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
。
问题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 生成的可执行文件。