2014-02-16 118 views
1

我相信我做错了什么,因为我想要做的是编译教程4的opengl教程。我相信我不断收到很多与GLM有关的错误,并需要帮助解决它。 这是我收到的错误,当我尝试编译它时(我相信我也正确安装了所有其他的东西):安装GLM - MinGW 64

规格是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> 

回答

1

随着输出增加说“的#define GLM_FORCE_RADIANS”删除GLM警告信息,但是这似乎只是一个警告。

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

+0

谢谢你,摆脱了所有的错误,所有我留下了一个未定义的GLUint,我现在只是觉得它的教程。它是为VC开发的,我认为我可以处理它。 – user3316475