問題タブ [easylogging++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
958 参照

opengl - GLSDK が easylogging++ を壊す

私は、SFML をコンテキストおよび入力マネージャーとして使用し、GLSDK を OpenGL (および画像や現在重要ではないもの) の読み込みに使用し、Boost を他のいくつかのものに使用して、OpenGL エンジンを開始しています。

私は「ロギング」のアイデアについて疑問に思っていました.Boost.Log(例のコンパイルに失敗し、問題への唯一の参照は未解決です)、Log4CPP(起動時にエラーが発生しました)を試してみましたが、最終的にすべてがうまくいったようです. easylogging ++で問題ありません.ヘッダーのみのライブラリ(万歳!)であり、いくつかのきちんとした構文IMOがありました。

ただし、コンパイル時に一連のエラーが発生します。

  • C2664: 'el::base::utils::DateTime::gettimeofday' : パラメーター 1 を 'int *' から 'el::base::utils::timeval *' に変換できません

  • C2228: '.tv_usec' の左側には class/struct/union が必要です

  • C2227: '->tv_usec' の左側は class/struct/union/generic 型を指している必要があります
  • C2079: 'currTime' は未定義の構造体 'el::base::utils::timeval' を使用しています
  • C2027: 未定義の型 'el::base::utils::timeval' の使用
  • そしてもう少し

私はこのように実装しました:

  • 'helpers.Log.hpp': プラグマ ワンス。'easylogging++.h' をインクルードし、名前空間ヘルパー > 名前空間ログ > void 関数 init() を定義します。
  • 'helpers.Log.cpp': '_INITIALIZE_EASYLOGGINGPP' であり、次のように init() を実装します。

    /li>

これで、これら 2 つのファイルだけが logging を処理します。「engine.Core.hpp」には、「helpers.Log.hpp」、「engine.Boot.hpp」(今は空白)、「glload/gl_load.hpp」、「glload/gl_3_3.hpp」が含まれ、エンジン名前空間内のコア クラスで、init() 関数が呼び出されます。

アプリケーション全体で他に何も行われません。それだけで、ログシステムの初期化ですが、完全に失敗します。

システムインフォメーション

OS : Windows7 x64

IDE : ビジュアル スタジオ 2012

コンパイラ: VS2012 (v110)

コンパイルコマンド: cl /c /IF:/BTSync/prog_projs/KINGDOMS/trunk/inc /IF:/dev/SFML/21/include /IF:/dev/GLSDK/052/glload/include /IF:/dev/GLSDK /052/glutil/include /IF:/dev/GLSDK/052/glm /IF:/dev/GLSDK/052/glmesh/include /IF:/dev/GLSDK/052/glimage/include /IF:/dev/BOOST /154 /IF:/DEV/LIBROCKET/121_3/include /Zi /nologo- /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:正確 /Zc:wchar_t /Zc:forScope /GR /Fo"KINGDOMS_0_1.dir\Debug\" /Fd"F:/BTSync/prog_projs/KINGDOMS/ Trunk/pro/Debug/KINGDOMS_0_1_d.pdb" /Gd /TP /analyze- /errorReport:prompt ..\src\engine.Boot.cpp ..\src\engine.Core.cpp ..\src\engine.Interfaces. cpp ..\src\helpers.Log.cpp ..\src\main.cpp

公開前に編集:さて、'glload/gl_3_3.hpp' が問題のようです。easylogging ++を壊すことができます。もう終わりです。それはどのように可能ですか?私に何ができる?

編集して実際のコードを追加

エンジン.コア.hpp

エンジン.コア.cpp

helpers.Log.hpp

helpers.Log.cpp

0 投票する
1 に答える
2389 参照

c++ - Easylogging ++単一のマクロで構成する方法は?

_INITIALIZE_EASYLOGGINGPP以下のような構成文字列を受け入れる単純なマクロを作成したいと思います。

マクロは次を置き換えます。

誰でもそれを行う方法を知っていますか?

0 投票する
2 に答える
1473 参照

logging - easylogging++ : アプリケーションの起動時にログ ファイルをクリアする

私は最近、C++ アプリケーションにEasylogging++を採用しましたが、ドキュメントから取り残されていることを願っています。

以前のアプリケーション インスタンスからのログ イベントを追加するのではなく、アプリケーションを起動するたびにログ ファイルをクリアしたいと考えています。ロギング イベントの前に、起動時にログ ファイルを削除することもできますが、これはハックのようです。

どんな助けでも大歓迎です。ありがとう。

0 投票する
1 に答える
950 参照

c++ - Easylogging 8.91 は c++11 なしではコンパイルできません

C++11なしでライブラリを使用したいのですが、コンパイルされません:(理論的には、ドキュメント@ http://easylogging.muflihun.comに従ってください:「C++の下位バージョンの場合(非C++ 11)、Easylogging++ v8.91 の使用を検討してください。")

エラー: #error このファイルには、ISO C++ 2011 標準のコンパイラとライブラリのサポートが必要です。このサポートは現在実験段階であり、-std=c++11 または -std=gnu++11 コンパイラ オプションで有効にする必要があります。

ファイル構造:

./Main.cpp ./logger/easylogging++.h

Main.cpp の内容:

../src/logger/easylogging++.h: 関数 'std::string easyloggingpp::internal::threading::getCurrentThreadId()': ../src/logger/easylogging++.h:691:16: エラー: ' std::this_thread' は宣言されていません ss << std::this_thread::get_id();

コンパイラ: gcc バージョン 4.8.2 (Ubuntu 4.8.2-19ubuntu1)、OS: Ubuntu 14.04 LTS

0 投票する
0 に答える
18 参照

c++ - easyloggingpp を macosx で動作させるにはどうすればよいですか?

clion で clang を使用して MacOSx でeasyloggingpp ( https://github.com/easylogging/easyloggingpp ) を使用しようとしています。easyloggingc++.h ファイルを含めるだけでは機能せず、次のエラーが発生します。

いくつかのシンボルが抜けているように見えますが、実際には easyloggingpp のヘッダー ファイルしかないので、何が抜けているのかわかりません。

MWE: