ImGui compatibility with Arm64 (Apple Silicon M1)

Hi All,

I am trying to build an application with Visual Studio Code.
I am with ImGui for UI stuffs, however I found that compiler complaints about Undefined symbol for ImGui, does anyone has experience the same as me?

[tasks.json]

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: clang++ build active file",
			"command": "/usr/bin/clang++",
			"args": [
				"-std=c++17",
				"-fdiagnostics-color=always",
				"-Wall",
				"-g",
				"-I${workspaceFolder}/include",
				"-L${workspaceFolder}/lib",
				"${workspaceFolder}/include/imgui/*.cpp",
				"${workspaceFolder}/src/*.cpp",
				"${workspaceFolder}/lib/libglfw.3.3.dylib",
				"-o",
				"${workspaceFolder}/app",
				"-framework",
				"OpenGL",
				"-framework",
				"Cocoa",
				"-framework",
				"IOKit",
				"-framework",
				"CoreVideo",
				"-framework",
				"CoreFoundation",
				"-Wno-deprecated"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "compiler: /usr/bin/clang++"
		}
	]
}

[Console output]

Undefined symbols for architecture arm64:
  "ImGui_ImplGlfw_NewFrame()", referenced from:
      Engine::DrawGUI(GL_Window&, ImGuiIO&) in Engine-6bbe20.o
      DrawImGui() in Point3D-95d457.o
  "ImGui_ImplGlfw_Shutdown()", referenced from:
      DisplayManager::shutDown() in DisplayManager-913460.o
  "ImGui_ImplGlfw_InitForOpenGL(GLFWwindow*, bool)", referenced from:
      DisplayManager::InitImGui() in DisplayManager-913460.o
  "Assimp::Importer::ReadFile(char const*, unsigned int)", referenced from:
      Assimp::Importer::ReadFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int) in Model-37c484.o
  "Assimp::Importer::Importer()", referenced from:
      Model::loadModel(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Model-37c484.o
  "Assimp::Importer::~Importer()", referenced from:
      Model::loadModel(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Model-37c484.o
  "_aiGetMaterialTexture", referenced from:
      aiMaterial::GetTexture(aiTextureType, unsigned int, aiString*, aiTextureMapping*, unsigned int*, float*, aiTextureOp*, aiTextureMapMode*) const in Model-37c484.o
  "_aiGetMaterialTextureCount", referenced from:
      aiMaterial::GetTextureCount(aiTextureType) const in Model-37c484.o
  "_gl3wActiveTexture", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wAttachShader", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wBindBuffer", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wBindSampler", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wBindTexture", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
      ImGui_ImplOpenGL3_CreateFontsTexture() in imgui_impl_opengl3-dc1efd.o
  "_gl3wBindVertexArray", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wBlendEquation", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wBlendEquationSeparate", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wBlendFunc", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wBlendFuncSeparate", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wBufferData", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wCompileShader", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wCreateProgram", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wCreateShader", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wDeleteBuffers", referenced from:
      ImGui_ImplOpenGL3_DestroyDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wDeleteProgram", referenced from:
      ImGui_ImplOpenGL3_DestroyDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wDeleteShader", referenced from:
      ImGui_ImplOpenGL3_DestroyDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wDeleteTextures", referenced from:
      ImGui_ImplOpenGL3_DestroyFontsTexture() in imgui_impl_opengl3-dc1efd.o
  "_gl3wDeleteVertexArrays", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wDetachShader", referenced from:
      ImGui_ImplOpenGL3_DestroyDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wDisable", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wDrawElements", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wEnable", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wEnableVertexAttribArray", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wGenBuffers", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wGenTextures", referenced from:
      ImGui_ImplOpenGL3_CreateFontsTexture() in imgui_impl_opengl3-dc1efd.o
  "_gl3wGenVertexArrays", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wGetAttribLocation", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wGetIntegerv", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
      ImGui_ImplOpenGL3_CreateFontsTexture() in imgui_impl_opengl3-dc1efd.o
  "_gl3wGetProgramInfoLog", referenced from:
      CheckProgram(unsigned int, char const*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wGetProgramiv", referenced from:
      CheckProgram(unsigned int, char const*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wGetShaderInfoLog", referenced from:
      CheckShader(unsigned int, char const*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wGetShaderiv", referenced from:
      CheckShader(unsigned int, char const*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wGetUniformLocation", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wIsEnabled", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wLinkProgram", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wPixelStorei", referenced from:
      ImGui_ImplOpenGL3_CreateFontsTexture() in imgui_impl_opengl3-dc1efd.o
  "_gl3wPolygonMode", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wScissor", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wShaderSource", referenced from:
      ImGui_ImplOpenGL3_CreateDeviceObjects() in imgui_impl_opengl3-dc1efd.o
  "_gl3wTexImage2D", referenced from:
      ImGui_ImplOpenGL3_CreateFontsTexture() in imgui_impl_opengl3-dc1efd.o
  "_gl3wTexParameteri", referenced from:
      ImGui_ImplOpenGL3_CreateFontsTexture() in imgui_impl_opengl3-dc1efd.o
  "_gl3wUniform1i", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wUniformMatrix4fv", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wUseProgram", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wVertexAttribPointer", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gl3wViewport", referenced from:
      ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*) in imgui_impl_opengl3-dc1efd.o
  "_gladLoadGLLoader", referenced from:
      GL_Window::CreateGLWindow() in DisplayManager-913460.o
  "_glad_glActiveTexture", referenced from:
      CubeMap::convolveCubeMap(unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::preFilterCubeMap(unsigned int, unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::equiRectangularToCubeMap(unsigned int, int, Shader const&, int, int) in CubeMap-ee6157.o
      Mesh::draw(Shader const&, bool) in Mesh-3962c8.o
      Primitive::draw(unsigned int, unsigned int, unsigned int) in Primitives-562c08.o
      Scene::drawScene(Shader const&, GL_Viewport&, bool, bool) in Scene-512214.o
      Skybox::draw() in Skybox-10f341.o
      ...
  "_glad_glAttachShader", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glBindBuffer", referenced from:
      Mesh::setupMesh() in Mesh-3962c8.o
      Quad::setup() in Primitives-562c08.o
      Cube::setup() in Primitives-562c08.o
      RenderManager::initSSBOs(GL_Viewport&) in RenderManager-95ea53.o
  "_glad_glBindBufferBase", referenced from:
      RenderManager::initSSBOs(GL_Viewport&) in RenderManager-95ea53.o
  "_glad_glBindFramebuffer", referenced from:
      DisplayManager::bind() in DisplayManager-913460.o
      FrameBuffer::bind(int, int) in Framebuffer-fcd0ba.o
      FrameBuffer::blitTo(FrameBuffer const&, unsigned int) in Framebuffer-fcd0ba.o
      FrameBuffer::defaultInit(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
      FrameBuffer::checkForCompleteness() in Framebuffer-fcd0ba.o
      RenderManager::postProcess(unsigned int, GL_Window&, int) in RenderManager-95ea53.o
  "_glad_glBindRenderbuffer", referenced from:
      CubeMap::preFilterCubeMap(unsigned int, unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CaptureBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
      CaptureBuffer::resizeFrameBuffer(int) in Framebuffer-fcd0ba.o
  "_glad_glBindTexture", referenced from:
      CubeMap::loadCubeMap(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in CubeMap-ee6157.o
      CubeMap::generateCubeMap(int, int, CubeMapType, unsigned int) in CubeMap-ee6157.o
      CubeMap::convolveCubeMap(unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::preFilterCubeMap(unsigned int, unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::equiRectangularToCubeMap(unsigned int, int, Shader const&, int, int) in CubeMap-ee6157.o
      Mesh::draw(Shader const&, bool) in Mesh-3962c8.o
      Primitive::draw(unsigned int, unsigned int, unsigned int) in Primitives-562c08.o
      ...
  "_glad_glBindVertexArray", referenced from:
      Mesh::draw(Shader const&, bool) in Mesh-3962c8.o
      Mesh::setupMesh() in Mesh-3962c8.o
      Primitive::draw(unsigned int, unsigned int, unsigned int) in Primitives-562c08.o
      Quad::setup() in Primitives-562c08.o
      Cube::setup() in Primitives-562c08.o
  "_glad_glBlitFramebuffer", referenced from:
      FrameBuffer::blitTo(FrameBuffer const&, unsigned int) in Framebuffer-fcd0ba.o
  "_glad_glBufferData", referenced from:
      Mesh::setupMesh() in Mesh-3962c8.o
      Quad::setup() in Primitives-562c08.o
      Cube::setup() in Primitives-562c08.o
      RenderManager::initSSBOs(GL_Viewport&) in RenderManager-95ea53.o
  "_glad_glCheckFramebufferStatus", referenced from:
      FrameBuffer::checkForCompleteness() in Framebuffer-fcd0ba.o
  "_glad_glClear", referenced from:
      CubeMap::convolveCubeMap(unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::preFilterCubeMap(unsigned int, unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::equiRectangularToCubeMap(unsigned int, int, Shader const&, int, int) in CubeMap-ee6157.o
      DisplayManager::bind() in DisplayManager-913460.o
      FrameBuffer::clear(unsigned int, glm::vec<3, float, (glm::qualifier)0>) in Framebuffer-fcd0ba.o
      RenderManager::preProcess(GL_Viewport&) in RenderManager-95ea53.o
      RenderManager::Reload(GL_Viewport&) in RenderManager-95ea53.o
      ...
  "_glad_glClearColor", referenced from:
      DisplayManager::bind() in DisplayManager-913460.o
      FrameBuffer::clear(unsigned int, glm::vec<3, float, (glm::qualifier)0>) in Framebuffer-fcd0ba.o
      RenderManager::postProcess(unsigned int, GL_Window&, int) in RenderManager-95ea53.o
  "_glad_glCompileShader", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glCompressedTexSubImage1D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glCompressedTexSubImage2D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glCompressedTexSubImage3D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glCreateProgram", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glCreateShader", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glDeleteProgram", referenced from:
      Shader::~Shader() in RenderManager-95ea53.o
  "_glad_glDeleteShader", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glDepthFunc", referenced from:
      RenderManager::render(unsigned int, GL_Window&, int) in RenderManager-95ea53.o
      Skybox::draw() in Skybox-10f341.o
  "_glad_glDepthMask", referenced from:
      RenderManager::preProcess(GL_Viewport&) in RenderManager-95ea53.o
      RenderManager::render(unsigned int, GL_Window&, int) in RenderManager-95ea53.o
      Skybox::draw() in Skybox-10f341.o
  "_glad_glDisable", referenced from:
      Quad::draw(unsigned int, unsigned int, unsigned int) in Primitives-562c08.o
  "_glad_glDispatchCompute", referenced from:
      ComputeShader::dispatch(unsigned int, unsigned int, unsigned int) const in Shader-44d46b.o
  "_glad_glDrawArrays", referenced from:
      Primitive::draw(unsigned int, unsigned int, unsigned int) in Primitives-562c08.o
  "_glad_glDrawBuffer", referenced from:
      FrameBuffer::blitTo(FrameBuffer const&, unsigned int) in Framebuffer-fcd0ba.o
      DirShadowBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
      PointShadowBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
      RenderManager::postProcess(unsigned int, GL_Window&, int) in RenderManager-95ea53.o
  "_glad_glDrawElements", referenced from:
      Mesh::draw(Shader const&, bool) in Mesh-3962c8.o
  "_glad_glEnable", referenced from:
      DisplayManager::startUp(int) in DisplayManager-913460.o
      RenderManager::preProcess(GL_Viewport&) in RenderManager-95ea53.o
      RenderManager::render(unsigned int, GL_Window&, int) in RenderManager-95ea53.o
  "_glad_glEnableVertexAttribArray", referenced from:
      Mesh::setupMesh() in Mesh-3962c8.o
      Quad::setup() in Primitives-562c08.o
      Cube::setup() in Primitives-562c08.o
  "_glad_glFramebufferRenderbuffer", referenced from:
      CaptureBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
  "_glad_glFramebufferTexture", referenced from:
      PointShadowBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
  "_glad_glFramebufferTexture2D", referenced from:
      CubeMap::convolveCubeMap(unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::preFilterCubeMap(unsigned int, unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::equiRectangularToCubeMap(unsigned int, int, Shader const&, int, int) in CubeMap-ee6157.o
      RenderManager::preProcess(GL_Viewport&) in RenderManager-95ea53.o
      RenderManager::Reload(GL_Viewport&) in RenderManager-95ea53.o
      Texture::genTextureDirectlyOnGPU(int, int, unsigned int, TextureType, unsigned int) in Texture-32d710.o
  "_glad_glGenBuffers", referenced from:
      Mesh::setupMesh() in Mesh-3962c8.o
      Quad::setup() in Primitives-562c08.o
      Cube::setup() in Primitives-562c08.o
      RenderManager::initSSBOs(GL_Viewport&) in RenderManager-95ea53.o
  "_glad_glGenFramebuffers", referenced from:
      FrameBuffer::defaultInit(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
  "_glad_glGenRenderbuffers", referenced from:
      CaptureBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
  "_glad_glGenTextures", referenced from:
      CubeMap::loadCubeMap(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in CubeMap-ee6157.o
      CubeMap::generateCubeMap(int, int, CubeMapType, unsigned int) in CubeMap-ee6157.o
      Scene::generateEnvironmentMaps() in Scene-512214.o
      Texture::loadTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in Texture-32d710.o
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
      Texture::loadHDRTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Texture-32d710.o
      Texture::genTextureDirectlyOnGPU(int, int, unsigned int, TextureType, unsigned int) in Texture-32d710.o
      ...
  "_glad_glGenVertexArrays", referenced from:
      Mesh::setupMesh() in Mesh-3962c8.o
      Quad::setup() in Primitives-562c08.o
      Cube::setup() in Primitives-562c08.o
  "_glad_glGenerateMipmap", referenced from:
      CubeMap::generateCubeMap(int, int, CubeMapType, unsigned int) in CubeMap-ee6157.o
      Texture::loadTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in Texture-32d710.o
  "_glad_glGetError", referenced from:
      HREUtils::glCheckError_(char const*, int) in DebugUtils-5bed78.o
  "_glad_glGetIntegeri_v", referenced from:
      HREUtils::printComputeSizes() in DebugUtils-5bed78.o
  "_glad_glGetProgramInfoLog", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glGetProgramiv", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glGetShaderInfoLog", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glGetShaderiv", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glGetString", referenced from:
      GL_Window::CreateGLWindow() in DisplayManager-913460.o
  "_glad_glGetUniformLocation", referenced from:
      Shader::getUniformLocation(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Shader-44d46b.o
  "_glad_glLinkProgram", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glMapBuffer", referenced from:
      RenderManager::initSSBOs(GL_Viewport&) in RenderManager-95ea53.o
  "_glad_glMemoryBarrier", referenced from:
      ComputeShader::dispatch(unsigned int, unsigned int, unsigned int) const in Shader-44d46b.o
  "_glad_glReadBuffer", referenced from:
      DirShadowBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
      PointShadowBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
  "_glad_glReadPixels", referenced from:
      RenderManager::render(unsigned int, GL_Window&, int) in RenderManager-95ea53.o
  "_glad_glRenderbufferStorage", referenced from:
      CubeMap::preFilterCubeMap(unsigned int, unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CaptureBuffer::setupFrameBuffer(unsigned int, unsigned int) in Framebuffer-fcd0ba.o
      CaptureBuffer::resizeFrameBuffer(int) in Framebuffer-fcd0ba.o
  "_glad_glShaderSource", referenced from:
      Shader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
      ComputeShader::setup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in Shader-44d46b.o
  "_glad_glTexImage2D", referenced from:
      CubeMap::loadCubeMap(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in CubeMap-ee6157.o
      CubeMap::generateCubeMap(int, int, CubeMapType, unsigned int) in CubeMap-ee6157.o
      Scene::generateEnvironmentMaps() in Scene-512214.o
      Texture::loadTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in Texture-32d710.o
      Texture::loadHDRTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Texture-32d710.o
      Texture::genTextureDirectlyOnGPU(int, int, unsigned int, TextureType, unsigned int) in Texture-32d710.o
  "_glad_glTexImage2DMultisample", referenced from:
      Texture::genTextureDirectlyOnGPU(int, int, unsigned int, TextureType, unsigned int) in Texture-32d710.o
  "_glad_glTexParameterfv", referenced from:
      Texture::genTextureDirectlyOnGPU(int, int, unsigned int, TextureType, unsigned int) in Texture-32d710.o
  "_glad_glTexParameteri", referenced from:
      CubeMap::loadCubeMap(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in CubeMap-ee6157.o
      CubeMap::generateCubeMap(int, int, CubeMapType, unsigned int) in CubeMap-ee6157.o
      Scene::generateEnvironmentMaps() in Scene-512214.o
      Texture::loadTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) in Texture-32d710.o
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
      Texture::loadHDRTexture(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Texture-32d710.o
      Texture::genTextureDirectlyOnGPU(int, int, unsigned int, TextureType, unsigned int) in Texture-32d710.o
      ...
  "_glad_glTexStorage1D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glTexStorage2D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glTexStorage3D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glTexSubImage1D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glTexSubImage2D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glTexSubImage3D", referenced from:
      Texture::loadDDSTexture(char const*) in Texture-32d710.o
  "_glad_glUniform1f", referenced from:
      Shader::setFloat(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, float) const in Shader-44d46b.o
  "_glad_glUniform1i", referenced from:
      Shader::setBool(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) const in Shader-44d46b.o
      Shader::setInt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) const in Shader-44d46b.o
  "_glad_glUniform3fv", referenced from:
      Shader::setVec3(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, glm::vec<3, float, (glm::qualifier)0> const&) const in Shader-44d46b.o
  "_glad_glUniformMatrix4fv", referenced from:
      Shader::setMat4(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, glm::mat<4, 4, float, (glm::qualifier)0> const&) const in Shader-44d46b.o
  "_glad_glUnmapBuffer", referenced from:
      RenderManager::initSSBOs(GL_Viewport&) in RenderManager-95ea53.o
  "_glad_glUseProgram", referenced from:
      Shader::use() const in Shader-44d46b.o
  "_glad_glVertexAttribPointer", referenced from:
      Mesh::setupMesh() in Mesh-3962c8.o
      Quad::setup() in Primitives-562c08.o
      Cube::setup() in Primitives-562c08.o
  "_glad_glViewport", referenced from:
      CubeMap::convolveCubeMap(unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::preFilterCubeMap(unsigned int, unsigned int, Shader const&, int, int) in CubeMap-ee6157.o
      CubeMap::equiRectangularToCubeMap(unsigned int, int, Shader const&, int, int) in CubeMap-ee6157.o
      FrameBuffer::bind(int, int) in Framebuffer-fcd0ba.o
      InputManager::framebuffer_size_callback(GLFWwindow*, int, int) in InputManager-ae653e.o
      RenderManager::preProcess(GL_Viewport&) in RenderManager-95ea53.o
      RenderManager::Reload(GL_Viewport&) in RenderManager-95ea53.o
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1

Is there anything or area I need to look into?

I was able to fix the issue by updating tasks.json / launch.json

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/Point3D",
            "args": [],
            "cwd": "${workspaceFolder}",
            "stopAtEntry": true,
            "MIMode": "lldb",
            "preLaunchTask": "C/C++: clang++ build active file"
        }
    ]
}

tasks.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: clang++ build active file",
			"command": "/usr/bin/clang++",
			"args": [
				"-std=c++17",
				"-g",
				"-Wall",
				"-fdiagnostics-color=always",
				"-I${workspaceFolder}/include",
				"-L${workspaceFolder}/lib",
				"${workspaceFolder}/lib/libglfw.3.3.dylib",
				"${workspaceFolder}/lib/libassimp.5.2.0.dylib",
				"${workspaceFolder}/src/*.cpp",
				"${workspaceFolder}/src/*.c",
				"${workspaceFolder}/include/imgui/imgui.cpp",
				"${workspaceFolder}/include/imgui/imgui_demo.cpp",
				"${workspaceFolder}/include/imgui/imgui_draw.cpp",
				"${workspaceFolder}/include/imgui/imgui_widgets.cpp",
				"${workspaceFolder}/include/imgui/imgui_tables.cpp",
				"${workspaceFolder}/include/imgui/backends/imgui_impl_opengl3.cpp",
				"${workspaceFolder}/include/imgui/backends/imgui_impl_glfw.cpp",
				"-framework",
				"OpenGL",
				"-framework",
				"Cocoa",
				"-framework",
				"IOKit",
				"-framework",
				"CoreVideo",
				"-framework",
				"CoreFoundation",
				"-Wno-deprecated",
				"-o",
				"${workspaceFolder}/build/Point3D"
			],
			"options": {
				"cwd": "${workspaceFolder}/build"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "compiler: /usr/bin/clang++"
		}
	]
}

Thanks,