0

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

1>  LINK : C:\Users\T\documents\visual studio 2010\Projects\testi\Debug\testi.exe not found or not built by the last incremental link; performing full link
1>glloadD.lib(gll_gl_ext.obj) : error LNK2019: unresolved external symbol __imp__wglGetProcAddress@4 referenced in function _WinGetProcAddress
1>glloadD.lib(wgll_ext.obj) : error LNK2001: unresolved external symbol __imp__wglGetProcAddress@4 
1>C:\Users\T\documents\visual studio 2010\Projects\testi\Debug\testi.exe : fatal error LNK1120: 1 unresolved externals


#include <glload/gl_all.h>
#include <glload/gll.hpp>

void main()
{
    glload::LoadFunctions();
}

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

編集1:

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

#include <glload/gl_all.h>
#include <glload/gll.hpp>
#include <freeglut/freeglut.h>

int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glload::LoadFunctions();
}

編集2:

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

#include <glload/gl_all.h>
#include <glload/gll.hpp>
#include <freeglut/freeglut.h>

int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutCreateWindow("");
    glload::LoadFunctions();
}
4

1 に答える 1

0

解決策は、GlLoad を初期化する前に作業コンテキストを作成することです。GLSDK で OpenGL プロジェクトを開始するたびに、この問題が発生しました。

于 2013-08-21T22:40:40.763 に答える