0

VisualStudio10.0でGLFWをセットアップするのに問題があります。このチュートリアルに従っていました。ただし、リンクエラーが発生します

1>GLFW.lib(window.obj) : error LNK2005: __glfwClearWindowHints already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwClearInput already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputKey already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputChar already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputMouseClick already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwChooseFBConfig already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputDeactivation already defined in window.obj
1>GLFW.lib(init.obj) : error LNK2005: __glfwInitialized already defined in init.obj
1>GLFW.lib(glext.obj) : error LNK2005: __glfwParseGLVersion already defined in glext.obj
1>GLFW.lib(glext.obj) : error LNK2005: __glfwStringInExtensionString already defined in glext.obj
1>GLFW.lib(glext.obj) : error LNK2005: __glfwRefreshContextParams already defined in glext.obj
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library

エラーをグーグルで検索してみましたが、あまり役に立ちませんでした。リンカー設定でopengl32/libとglu32.libをリンクしました。includeとlibの適切なフォルダーもリンクしました。GLFWサイトからwin32バイナリと元のzipの両方をダウンロードしてリンクしました。

コード

どんな助けでも大歓迎です。

4

1 に答える 1

0

このチュートリアルは少し古くなっています (2005 年 4 月 27 日に投稿)。いくつかのソース ファイルを 2 つの異なるプロジェクトに 2 回追加した可能性があります。そのため、既存のシンボル定義について不満が生じています。

GLFW 2.7.x には、必要なものすべてを自動的にビルドするための MSVC makefile スクリプトが含まれていないようですが、最新の GLFW 3.0 に切り替えるオプションがあれば、cmake をサポートしているため、作業が楽になります。

  • cmakegitの両方がインストールされていることを確認してください。
  • Git Bash の実行からgit clone git://glfw.git.sourceforge.net/gitroot/glfw/glfw glfw
  • 次に、Visual Studio コマンド プロンプトを開き、新しく作成した glfw フォルダーに切り替えます。新しいサブフォルダーを作成し ( mkdir build)、このサブフォルダーに切り替えます ( cd build)。
  • cmake -G "Visual Studio 10 Win64" ..GLFW をコンパイルするためのプロジェクト ファイルを生成する実行します。
  • そのプロジェクト ファイルを開き、必要なものをすべてコンパイルします (GLFW サブプロジェクトのみが必要です)。
于 2013-01-06T02:58:50.473 に答える