连接土壤,mingw,undef ref

时间:2018-04-27 18:43:05

标签: c++ opengl mingw undefined-reference soil

我使用Code :: blocks 16.1和MinGW编译器,Windows 7.在尝试包含SOIL库时,我得到43个错误(代码是):

#include <SOIL/SOIL.h>
unsigned char *image = SOIL_load_image("container.jpg", &width, &height, 0, SOIL_LOAD_RGB);

当然是主要功能。我已经从here下载了库。然后我将标题(和.c文件(我不清楚它们在文件夹中的原因))放入我的include文件夹,将名为 libSOIL.a 的库文件放入lib文件夹。之后,我进入了编译器设置,然后进入了链接器。在链接器列表中,我有几个库。我把第一个写成土。顺序是:

C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a
C:\Program Files (x86)\CodeBlocks\MinGW\lib\glew\libglew32.dll.a
C:\Program Files (x86)\CodeBlocks\MinGW\lib\freeglut\libfreeglut.a
C:\Program Files (x86)\CodeBlocks\MinGW\lib\freeglut\libfreeglut_static.a
C:\Program Files (x86)\CodeBlocks\MinGW\lib\glfw\libglfw3dll.a
C:\Program Files (x86)\CodeBlocks\MinGW\lib\glfw\libglfw3.a

另外,我尝试了另一个订单,但结果是一样的。

所以,我有这些错误:

||=== Build: Debug in LearnOGL (compiler: GNU GCC Compiler) ===|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetString@4'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| more undefined references to `glGetString@4' follow|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `wglGetProcAddress@4'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glBindTexture@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexImage2D@36'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexImage2D@36'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glDeleteTextures@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGenTextures@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glReadPixels@28'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGetIntegerv@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glBindTexture@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glBindTexture@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexImage2D@36'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexImage2D@36'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexImage2D@36'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glGenTextures@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glBindTexture@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glBindTexture@8'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexParameteri@12'|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\soil\libSOIL.a(SOIL.o):SOIL.c|| undefined reference to `glTexImage2D@36'|
||error: ld returned 1 exit status|
||=== Build failed: 44 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

当我在网上发现类似的问题时,我发现了。但是解决方案的目的是改变顺序,这对我没有帮助(我只更改了SOIL库的位置)。

应该采取什么措施来解决问题?

0 个答案:

没有答案