Проблема с журналированием spdlog [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Проблема с журналированием spdlog [закрыто]

Сообщение Anonymous »

Я получаю ошибку: C2338 static_assert error: «Форматирование непустых указателей запрещено».
Я создаю игровой движок как личный проект, и я экспериментировал с входом в консоль с помощью spdlog. Я реализовал OpenGL и отобразил базовый треугольник, но у меня возникают проблемы с ведением журнала консоли, как и в большинстве простых вещей. Использование Visual Studio 2022.
Это мой файл OpenGLContext.

Код: Выделить всё

#include "napch.hpp"
#include "OpenGLContext.hpp"

#include "Nova/Core/Log.hpp"

#include 
#include 
#include 

namespace Nova {

OpenGLContext::OpenGLContext(GLFWwindow* windowHandle)
: m_WindowHandle(windowHandle)
{
NA_CORE_ASSERT(windowHandle, "Window handle is null!")
}

void OpenGLContext::Init()
{
glfwMakeContextCurrent(m_WindowHandle);
int status = gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
NA_CORE_ASSERT(status, "Failed to initialize Glad!");

NA_CORE_INFO("OpenGL Info:");

// TO-DO
//NA_CORE_INFO("  Vendor: {0}", glGetString(GL_VENDOR));
//NA_CORE_INFO("  Renderer: {0}", glGetString(GL_RENDERER));
//NA_CORE_INFO("  Version: {0}", glGetString(GL_VERSION));

}

void OpenGLContext::SwapBuffers()
{
glfwSwapBuffers(m_WindowHandle);
}

}
NA_CORE_INFO — это просто макрос, который расширяется до #define NA_CORE_INFO(...) ::Nova::Log::GetCoreLogger()->info(_VA_ARGS_). И я, будучи новичком в OpenGL, обнаружил, что glGetString(GL_VENDOR) возвращает указатель на символ. Я не уверен, как с этим справляются spdlog и OpenGL.
Чего я ожидаю.
Я хочу, чтобы выходные данные были чем-то вроде NOVA: Продавец: (продавец)

Подробнее здесь: https://stackoverflow.com/questions/786 ... ging-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»