На университетском курсе, который я посещаю, мы начинаем работать с OpenGL. Профессор заставил нас загрузить GLAD и GLFW, но мы не видели, как включить и заставить все работать в VS Code, используя make-файл (мы используем make-файл и компилятор mingw-w64 на Windows 10 64 бит). Я пишу простой код, следуя руководству OpenGL:
#include "glad/glad.h"
#include "glfw3.h"
int main(int argc, char* argv[])
{
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
return 0;
}
Файл заголовка GLAD находится по адресу:
C: \ libs \ Glad \ include \ glad
Библиотека GLFW находится в:
C: \ libs \ GLFW \ glfw-3.3.2.bin.WIN64 \ lib-mingw-w64
и в этом каталоге находятся 3 файла:
glfw3.dll
libglfw3.a
libglfw3dll.a
В каталоге GLFW также есть папка «include»:
C: \ libs \ GLFW \ glfw-3.3.2.bin.WIN64 \ include \ GLFW
с двумя заголовочными файлами:
glfw3.h
glfw3native.h
Первое, что я сделал в Мой проект C ++ в VS Code должен был изменить файл "c_cpp_properties. json", включая относительные пути файлов, которые я включил в. cpp. Я также включил путь к библиотеке, хотя, в конце концов, в коде я включил только заголовочный файл:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/libs/Glad/include/**",
"C:/libs/GLFW/glfw-3.3.2.bin.WIN64/include/GLFW/",
"C:/libs/GLFW/glfw-3.3.2.bin.WIN64/lib-mingw-w64/"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\MinGW-64\\mingw64\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++20",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
На этом этапе для make-файла я скопировал и вставил make-файл, который показал нас, профессора, просто для компиляции. cpp, связывания .o и конечного результата .exe. Мы никогда не видели, что писать в make-файле в такой ситуации (я почти уверен, что проблема в make-файле), и, кроме того, мы не изучали make-файл достаточно долго, чтобы иметь возможность go в одиночку. Это make-файл:
CC = g++
DEBUG = -g -std=c++2a
CFLAGS = -Wall -c $(DEBUG)
LFLAGS = -Wall $(DEBUG)
ODIR = obj
OBJS = $(ODIR)/First_Window.o
LINK_TARGET = First_Window.exe
all : $(LINK_TARGET)
echo All done
$(LINK_TARGET) : $(OBJS)
$(CC) $(LFLAGS) $^ -o $@
$(ODIR)/%.o : %.cpp
$(CC) $(CFLAGS) $< -o $@
Компиляция с терминала:
g++ -Wall -c -g -std=c++2a First_Window.cpp -o obj/First_Window.o
First_Window.cpp:1:10: fatal error: glad/glad.h: No such file or directory
#include "glad/glad.h"
^~~~~~~~~~~~~
compilation terminated.
mingw32-make: *** [makefile:17: obj/First_Window.o] Error 1
Все руководства, которые я нашел, даже в той же книге, что и я, обращаемся к VS Community, но мы использовали VS Code с самого начала курса. Что я должен изменить / добавить, чтобы решить проблему?
Заранее спасибо