Opengl GLSDK打破了easylogging++;
我正在启动一个OpenGL引擎,使用SFML作为上下文和输入管理器,使用GLSDK加载OpenGL(以及现在不重要的图像和内容),并使用Boost加载其他内容 我一直在想“日志记录”的想法,并尝试了Boost.Log(未能编译一个示例,唯一的问题是没有解决)、Log4CPP(在启动时出现错误)以及easylogging++,作为一个只有头的库(horray!),它有一些简洁的语法 但在编译时会出现一系列错误:Opengl GLSDK打破了easylogging++;,opengl,logging,glload,easylogging++,Opengl,Logging,Glload,Easylogging++,我正在启动一个OpenGL引擎,使用SFML作为上下文和输入管理器,使用GLSDK加载OpenGL(以及现在不重要的图像和内容),并使用Boost加载其他内容 我一直在想“日志记录”的想法,并尝试了Boost.Log(未能编译一个示例,唯一的问题是没有解决)、Log4CPP(在启动时出现错误)以及easylogging++,作为一个只有头的库(horray!),它有一些简洁的语法 但在编译时会出现一系列错误: C2664:'el::base::utils::DateTime::gettimeo
- C2664:'el::base::utils::DateTime::gettimeofday':无法将参数1从'int*'转换为'el::base::utils::timeval*'
- C2228:“.tv_usec”的左侧必须具有类/结构/联合
- C2227:“->tv_usec”的左侧必须指向class/struct/union/generic类型
- C2079:“currTime”使用未定义的结构“el::base::utils::timeval”
- C2027:使用未定义的类型“el::base::utils::timeval”
- 还有更多
- “helpers.Log.hpp”:pragma一次,包括“easylogging++.h”,并定义名称空间helpers>名称空间日志>void函数init()
- “helpers.Log.cpp”:“\u INITIALIZE\u EASYLOGGINGPP”并实现init(),如下所示:
el::Configurations conf("../log_config.cfg"); el::Loggers::reconfigureLogger("default", conf); el::Loggers::reconfigureAllLoggers(conf);
#pragma一次
#包括
#包括
#包括
名称空间引擎
{
类核心
{
公众:
核心();
~Core();
};
}
引擎.Core.cpp
#包括
引擎::核心::核心()
{
helpers::log::init();
}
引擎::核心::~Core()
{
}
helpers.Log.hpp
#pragma一次
#包括
命名空间帮助程序
{
名称空间日志
{
void init();
}
}
helpers.Log.cpp
#包括
_初始化_EASYLOGGINGPP
void helpers::log::init()
{
el::Configurations(“../log_config.cfg”);
el::Loggers::reconfigureLogger(“默认”,conf);
el::记录器::重新配置记录器(conf);
}
我通过添加
#include <Winsock2.h>
#包括
紧接着:
#elif _ELPP_OS_WINDOWS
# include <direct.h>
# include <Windows.h>
#elf(ELPP)操作系统(WINDOWS)
#包括
#包括
在easylogging++.h中
它包含timeval结构的定义。看起来他们好像忘记了。您能给我们展示一个复制错误的最小代码示例吗?完成。我现在使用的是文字代码。删除“glload/gl_3_3.hpp”的包含项可解决编译错误。谢谢你的关注。当然,我仍然需要包括glload/gl_3_3.hpp和记录器界面!所以不能把它作为解决方案。包含任何其他版本的OpenGL都会导致easylogging++失败。看起来它与跨平台日期时间函数有冲突。您使用的是什么编译器和操作系统?你能发送编译命令吗?我已经在主要问题中添加了信息。谢谢你的关注!是的,这对我不起作用,它只会造成500多个错误。我真的很困惑为什么头球后卫没有在这里完成他们的工作,但是我真的对EasyLogg++的唯一问题感到厌倦,即使这不一定是它的错。
#pragma once
#include <easylogging++.h>
namespace helpers
{
namespace log
{
void init();
}
}
#include <helpers.Log.hpp>
_INITIALIZE_EASYLOGGINGPP
void helpers::log::init()
{
el::Configurations conf("../log_config.cfg");
el::Loggers::reconfigureLogger("default", conf);
el::Loggers::reconfigureAllLoggers(conf);
}
#include <Winsock2.h>
#elif _ELPP_OS_WINDOWS
# include <direct.h>
# include <Windows.h>