1

私がやろうとしているのはopenglチュートリアルのチュートリアル4をコンパイルすることだけなので、何か間違ったことをしていると思います。GLM に関連する多くのエラーが発生し続けており、それを修正する助けが必要だと思います。これは、コンパイルしようとしたときに受け取るエラーです (他のすべても正しくインストールしたと思います)。

仕様は mingw 64、windows 7 です。glfw が動作することはわかっています。グリューについてはわかりませんが、グリューに問題はありません。適切なフォルダーのglmヘッダーファイルに何度も配置しました。

C:\Users\Public\Documents\ACADEMICS\Personal Library\OpenGL-tutorial_v0014_33\Op
enGL-tutorial_v0014_33\tutorial04_colored_cube>g++ tutorial04.cpp -lmingw32 -lop
engl32 -lglew32 -lglu32 -lglfw3 -mwindows
In file included from c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../.
./../x86_64-w64-mingw32/include/glm/gtc/matrix_transform.hpp:292:0,
                 from tutorial04.cpp:14:
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl: In function 'glm::detail::tmat4x4<T, P>
glm::rotate(const glm::detail::tmat4x4<T, P>&, const T&, const glm::detail::tvec
3<T, P>&)':
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl:79:165: note: #pragma message: GLM: rotat
e function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIAN
S before including GLM headers to remove this message.
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl: In function 'glm::detail::tmat4x4<T, P>
glm::rotate_slow(const glm::detail::tmat4x4<T, P>&, const T&, const glm::detail:
:tvec3<T, P>&)':
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl:120:170: note: #pragma message: GLM: rota
te_slow function taking degrees as a parameter is deprecated. #define GLM_FORCE_
RADIANS before including GLM headers to remove this message.
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl: In function 'glm::detail::tmat4x4<T, (gl
m::precision)0u> glm::perspective(const valType&, const valType&, const valType&
, const valType&)':
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl:253:170: note: #pragma message: GLM: pers
pective function taking degrees as a parameter is deprecated. #define GLM_FORCE_
RADIANS before including GLM headers to remove this message.
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl: In function 'glm::detail::tmat4x4<T, (gl
m::precision)0u> glm::perspectiveFov(const valType&, const valType&, const valTy
pe&, const valType&, const valType&)':
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl:285:173: note: #pragma message: GLM: pers
pectiveFov function taking degrees as a parameter is deprecated. #define GLM_FOR
CE_RADIANS before including GLM headers to remove this message.
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl: In function 'glm::detail::tmat4x4<T, (gl
m::precision)0u> glm::infinitePerspective(T, T, T)':
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl:311:178: note: #pragma message: GLM: infi
nitePerspective function taking degrees as a parameter is deprecated. #define GL
M_FORCE_RADIANS before including GLM headers to remove this message.
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl: In function 'glm::detail::tmat4x4<T, (gl
m::precision)0u> glm::tweakedInfinitePerspective(T, T, T)':
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/include/glm/gtc/matrix_transform.inl:339:185: note: #pragma message: GLM: twea
kedInfinitePerspective function taking degrees as a parameter is deprecated. #de
fine GLM_FORCE_RADIANS before including GLM headers to remove this message.
C:\Users\Richard\AppData\Local\Temp\ccuc6Ups.o:tutorial04.cpp:(.text+0x28c): und
efined reference to `LoadShaders(char const*, char const*)'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(context.c.obj):context.c:(.text+0x3c): undefined referen
ce to `glGetString'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(context.c.obj):context.c:(.text+0xab): undefined referen
ce to `glGetIntegerv'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(context.c.obj):context.c:(.text+0x5c6): undefined refere
nce to `glGetString'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(context.c.obj):context.c:(.text+0x710): undefined refere
nce to `glGetIntegerv'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(context.c.obj):context.c:(.text+0x74e): undefined refere
nce to `glGetIntegerv'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(context.c.obj):context.c:(.text+0x7e2): undefined refere
nce to `glGetIntegerv'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0xa51): undefine
d reference to `__imp_wglMakeCurrent'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0xadd): undefine
d reference to `__imp_wglGetProcAddress'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0xf33): undefine
d reference to `__imp_wglCreateContext'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0xf5d): undefine
d reference to `__imp_wglShareLists'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0x1186): undefin
ed reference to `__imp_wglDeleteContext'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0x12fd): undefin
ed reference to `__imp_wglMakeCurrent'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0x1326): undefin
ed reference to `__imp_wglMakeCurrent'
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw3
2/lib/../lib/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0x143a): undefin
ed reference to `__imp_wglGetProcAddress'
collect2.exe: error: ld returned 1 exit status

C:\Users\Public\Documents\ACADEMICS\Personal Library\OpenGL-tutorial_v0014_33\Op
enGL-tutorial_v0014_33\tutorial04_colored_cube>
4

1 に答える 1

1

出力が示すように、「#define GLM_FORCE_RADIANS」を追加して glm 警告メッセージを削除しますが、それは単なる警告のようです。

問題はGLFWにあります。-lglu32 と -lglu32 を -lglfw3 の後に移動してみてください。また、別のバージョンの GLFW を使用していたため、いくつかのチュートリアル (おそらくあなたと同じもの) を作成するのに苦労したことがあります。GLFW2と連携してみる。

于 2014-02-16T22:40:58.580 に答える