安装GLM - MinGW 64

时间:2014-02-16 17:06:09

标签: c++ opengl glew glm-math mingw-w64

我相信我做错了,因为我所要做的就是编译opengl教程的教程4。我相信我一直有很多与GLM有关的错误,需要帮助修复它。 这是我在尝试编译时收到的错误(我相信我也正确安装了其他所有内容):

规格是mingw 64,windows 7,我知道glfw有效。不确定glew,但我没有看到任何问题。我把它放在正确文件夹中的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>

1 个答案:

答案 0 :(得分:1)

正如输出所示,添加“#define GLM_FORCE_RADIANS”以删除glm警告消息,但这似乎只是一个警告。

问题在于GLFW。尝试在-lglfw3之后移动-lopengl32和-lglu32。 此外,我曾经在构建一些教程(可能和你一样)时遇到了麻烦,因为他们使用的是不同版本的GLFW。尝试链接GLFW2。