我试图在mac上用VSCode编译一个基本的openGL程序。我使用glad和GLFW,并且我将glad文件与我试图运行的test.cpp文件放在同一个文件夹中。然而,无论我如何键入,include语句都会抛出错误。这是我正在编写的程序
#include <iostream>
#include "glad.h"
但是,它会抛出错误:screenshot of errors
VSCode找不到程序运行所需的头文件,编译器因此抛出错误。我应该补充一点,这些库的自动完成功能正在工作,但是编辑器找不到文件。
下面是c_cpp_properties. json代码
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "macos-clang-x64"
}
],
"version": 4
}
也许这个问题可能与我试图编译文件的方式有关?
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
任何关于如何正确设置这个项目的指导,任何建议都将不胜感激。作为参考,这里是我试图遵循的教程:https://learnopengl.com/Getting-started/Hello-Window.
太感谢你了!
1条答案
按热度按时间bq3bfh9z1#
我将首先指出几件并不重要的事情。
VSCode不是编译器,也不是IDE。VSCode是一个**文本编辑器。**作为一个文本编辑器,它可能有一些扩展,帮助您进行开发(因此将其转变为一个临时的IDE)。
这里发生的是编译器(gcc)不知道在哪里查找包含文件。它甚至暗示你需要更新
includePath
,让你把它指向包含头文件的正确文件夹。在CLI中,这是通过-I
标志(即g++ main.cpp -Ipath/to/your/include_folder/
)完成的。如果你研究一下Getting Started section,他们甚至会完成这些步骤,甚至建议使用
CMake
(这是一个构建工具,可以帮助你生成用于构建二进制文件的makefile)。通过查看
tasks.json
,我可以得出结论,您在VSCode中使用的扩展使用这个文件将正确的参数传递给g++
。因此,现在最快的解决方案是在args
中指定另一个指向头文件的元素,即:希望能有所帮助!