c++ - C++ glfw 错误:找不到“GLFW/glfw3.h”文件
问题描述
我是 Vulkan 的新手,并试图重新创建网页上的教程向我展示的内容,我正在使用 VS Code 并且在尝试编译时出现错误,它表明即使我包含它也找不到 GLFW/glfw3.h到我的项目includePath
中c_cpp_properties.json
。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/src/**",
"${workspaceFolder}/lib/**",
"${workspaceFolder}/include/**",
"${workspaceFolder}/lib/glfw/lib-mingw-w64/**",
"C:/VulkanSDK/1.2.182.0/Lib/**",
"C:/VulkanSDK/1.2.182.0/Include/**",
"C:/Users/___/scoop/apps/llvm/current/lib/clang/12.0.1/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/Users/___/scoop/shims/clang++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-clang-x64",
"macFrameworkPath": [],
"forcedInclude": [
"${workspaceFolder}/include/GLFW/glfw3.h"
]
}
],
"version": 4
}
main.cpp
// Code from the tutorial
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>
#include <iostream>
int main() {
glfwInit();
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);
uint32_t extensionCount = 0;
vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);
std::cout << extensionCount << " extensions supported\n";
glm::mat4 matrix;
glm::vec4 vec;
auto test = matrix * vec;
while(!glfwWindowShouldClose(window)) {
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
我已经仔细检查了文件路径以确保它是正确的,但错误仍然出现,我也尝试了,#include <vulkan/vulkan.h>
而不是#define GLFW_INCLUDE_VULKAN
它表明'vulkan/vulkan.h' file not found
解决方案
您所做的c_cpp_properties.json
仅适用于 IDE / intellisense。您还必须将包含路径传递给编译器tasks.json
,因为编译器也需要知道它们。
推荐阅读
- javascript - 在 NodeJS 中同时输入和输出
- javascript - 将 Material-ui ToggleButtonGroup 连接到 redux-form
- python - 基本的python问题:制作一个简单的骰子游戏
- python - Python select.select 不暂停执行
- jenkins - 如何根据詹金斯中的选择显示输入框?
- javascript - 我希望我的导航栏在我向下滚动时消失并在我向上滚动时出现。导航栏是固定的。怎么了?
- ruby - NameError:irb 控制台上未初始化的常量用户
- r - setwd 中的警告消息 - R
- python - Heroku - 调度程序烧瓶
- javascript - 如何根据 Firestore 中上一个文档的名称确定文档的名称?