問題タブ [glload]

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 に答える
687 参照

visual-studio-2010 - VC++ EE 2010 での glload および LNK エラー

非公式の OpenGL SDK から glload を使用しようとしていますが、LNK エラーが発生します。


リンカー/追加の依存関係: glloadD.lib どこに問題がありますか?

編集1:

まず、Premake を使用して vs2010 のビルド ファイルを生成しました。次に、すべてのライブラリを構築しました。私のプロジェクトでは、追加のインクルード ディレクトリ、追加のライブラリ ディレクトリ、およびそれらのライブラリの追加の依存関係を設定しました。このページ:リンクから例を実行したいのですが、opengl 関数をロードする前に OpenGL コンテキストを作成するのを忘れていました。このプロジェクトではウィンドウは必要ないので、glutInit を呼び出すだけですが、0x5bfed398 (msvcr100d.dll) で未処理の例外が発生します。

編集2:

glload::LoadFunctions の前に glutCreateWindow を呼び出す必要があるようです。次のコードが機能します。

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

opengl - OpenGL-`wglGetProcAddress@4'へのglload未定義の参照

非公式のOpenGLSDKをダウンロードし、premake4でMakefileを作成し、mingw4.8.4でコンパイルしました。

QtCreatorも使用しています

これは私の.proファイルです

また、アークシンセシスのopenGLチュートリアルに従って、「ハロートライアングルの例」を作成しようとしました。

しかし、私は常に次のエラーを受け取ります。

c:\ glsdk \ glload \ source \ wgll_ext.c:140:エラー: `wglGetProcAddress@4'への未定義の参照

glload\sourceフォルダーにある理由すらわかりません。

何か案は?

0 投票する
4 に答える
10138 参照

c++ - 共有オブジェクトで C++ シンボルのサイズが異なる

私は特に OpenGL に使用することを目的としたクロスプラットフォーム ウィンドウ ライブラリに取り組んでおり、現在は Linux に焦点を当てています。私は glload を使用して OpenGL 拡張機能を管理しています。これは、後で使用する他のライブラリと一緒に.so. この `.so は予想どおり動的にロードされていますが、実行時にプログラムは次の出力を返します (読みやすいように手動でラップされています)。

今、明らかに私は再リンクを試み、プロジェクト全体を何度も再構築しました(魔法のようにすべてが良くなることを盲目的に望んでいるだけでなく、テストしています)。プログラムは、期待どおりにログ出力を生成するため、喜んで実行されるようです。nm「シンボル」が.so

定義されているreadelfシンボルをよく見ると、次のようになります (ここでも、書式設定のために最初の 3 行を手動でラップしています)。

何を試して調べればよいのか本当にわからないので、これが私が提供できるすべてのことではないかと心配しています。私が言ったように、もっと多くの情報が必要になると確信しているので、私ができることを提供します. プロジェクトのルートからこれらのコマンドを実行しています。

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 に答える
866 参照

c++ - ARB_DEBUG_OUTPUT によるアクセス違反

拡張機能を使用してARB_DEBUG_OUTPUTOpenGL エラーをキャッチしていますが、エラー ログ機能を呼び出すとプログラムがクラッシュします。

このブログ投稿のコードを使用して拡張機能をセットアップしました。コールバックを設定するために使用する正確なコードは次のとおりです。

こちらですdebugCallbackARB

glEnable無効なパラメーターを使用して、コールバックをトリガーします。

エラーメッセージを正常に出力した後、プログラムは未処理の例外をトリガーしますAccess violation executing location 0x00000500.

SDL2 を使用して OpenGL 3.3 コア プロファイルのデバッグ コンテキストを作成し、GL Loadを使用して GL 拡張ポインタを取得しています。

glEnable拡張機能を無効にすると、無効な呼び出しでプログラムがクラッシュすることはありません。

どうすればこれを修正できますか?

コンピューターの仕様:

  • NVIDIA GeForce GT 630
  • フォースウェア 327.23
  • ウィンドウズ 7 x64

編集:デバッグコールバックを手動で呼び出してみましたが、例外はトリガーされません。

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

c++ - SDL を使用した glload ヘッダー

「ラッパー」として SDL を使用して OpenGL c++ プログラムをセットアップしています。この行を追加するとすぐに気付きました:

glBegin()、glEnd() などの「古い」OpenGL コマンドはすべて未定義になります。

その直後。現時点ではこのプログラムでそれらを使用するつもりはないので、これは問題ではありませんが、少し面倒で、回避方法があるかどうか疑問に思っていました.

また、なぜ私が使用しなければならないのですか

とは対照的に

私はCではなくC++で書いていますが、これはglsdkのドキュメントと矛盾しているようです?

glsdk_0_5_2/docs/html/group__module__glload.html