私は現在、アプリケーションの一部を C++ に変換する作業を行っています。そのために、openGL を使用することに決めました。これは、他のプラットフォームで使用した経験があるためです。しかし、これを x64 でコンパイルするには、かなりの手間がかかるようです。私のリンクが機能しているかどうかを確認するために、このチュートリアルをコンパイルしようとしています:
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/
しかし、ご覧のとおり、私は惨めに失敗しました。ダウンロードしてインストールしました:
- 自由食い
- GLM
- GLFW
- グリュー
問題は明らかに GLFW 内にあるようです。Visual Express C++ 2010 を使用しています。
次のようにGLFWをインストールしました:
- GLFW.dll (System32)
- glfw.h (C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\gl)
- GLFW.lib (C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64)
- GLFWDLL.lib (C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64)
私のリンカー:
kernel32.lib;glu32.lib;glew32.lib;GLFW.lib;GLFWDLL.lib;opengl32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
出力:
1>------ Build started: Project: Spacecraft, Configuration: Debug x64 ------
1> Main.cpp
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwGetWindowParam referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwGetKey referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwSwapBuffers referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwEnable referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwSetWindowTitle referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwTerminate referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwOpenWindow referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwOpenWindowHint referenced in function main
1>Main.obj : error LNK2019: unresolved external symbol __imp_glfwInit referenced in function main
1>c:\users\leif andreas\documents\visual studio 2010\Projects\Spacecraft\x64\Debug\Spacecraft.exe : fatal error LNK1120: 9 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
そして最後に、私の内容は次のとおりです。
// Include standard headers
#include <stdio.h>
#include <stdlib.h>
// Include GLEW
#include <gl/glew.h>
#include <gl/glut.h>
// Include GLFW
#include <gl/glfw.h>
// Include GLM
#include <glm/glm.hpp>
using namespace glm;