0

Имею проект визуализирующий различные 3D сцены с помощью OpenGL. Появилась необходимость в добавлении интерфейса. Скачал архив с GitHub, добавил в папку проекта, в свойствах C/C++>>Общие>>Дополнительные каталоги включаемых файлов добавил путь: "$(SolutionDir)\Includes\imgui". Прописал все необходимые include:

#include "imgui.h" #include "imgui_impl_glfw.h" #include "imgui_impl_opengl3.h"

При просмотре кода не подсвечивает никаких ошибок, однако попытка компиляции вызывает 18 подобных ошибок:

  • 1>LINK : warning LNK4098: библиотека по умолчанию "LIBCMT" конфликтует с использованием других библиотек; используйте /NODEFAULTLIB:library
  • 1>OpGL.obj : error LNK2001: неразрешенный внешний символ "bool __cdecl ImGui_ImplGlfw_InitForOpenGL(struct GLFWwindow *,bool)" (?ImGui_ImplGlfw_InitForOpenGL@@YA_NPEAUGLFWwindow@@_N@Z).
  • 1>OpGL.obj : error LNK2001: неразрешенный внешний символ "void __cdecl ImGui_ImplOpenGL3_NewFrame(void)" (?ImGui_ImplOpenGL3_NewFrame@@YAXXZ).
  • 1>OpGL.obj : error LNK2001: неразрешенный внешний символ "void __cdecl ImGui_ImplGlfw_NewFrame(void)" (?ImGui_ImplGlfw_NewFrame@@YAXXZ).
  • 1>OpGL.obj : error LNK2001: неразрешенный внешний символ "bool __cdecl ImGui_ImplOpenGL3_Init(char const *)" (?ImGui_ImplOpenGL3_Init@@YA_NPEBD@Z).
  • 1>OpGL.obj : error LNK2001: неразрешенный внешний символ "void __cdecl ImGui_ImplOpenGL3_RenderDrawData(struct ImDrawData *)" (?ImGui_ImplOpenGL3_RenderDrawData@@YAXPEAUImDrawData@@@Z).
  • 1>glfw3.lib(context.obj) : error LNK2001: неразрешенный внешний символ __imp_sscanf.
  • 1>glfw3.lib(init.obj) : error LNK2001: неразрешенный внешний символ __imp_vsnprintf.
  • 1>MSVCRT.lib(vsnprintf.obj) : error LNK2001: неразрешенный внешний символ __imp_vsnprintf.
  • 1>MSVCRT.lib(vsnprintf.obj) : error LNK2001: неразрешенный внешний символ __imp__vsnprintf.
  • И т.д.
  • Для начала стоит пересобрать все, вы ставляя одинаковые флаги рантайм библиотеки С/C++ -> Code generation -> Runtime library у одинаковых конфигураций. – user7860670 Mar 04 '24 at 05:54

0 Answers0