我不知道为什么一直这样说:



这是代码:

GLuint loadtex( const char* texname )
{
    GLuint texture = SOIL_load_OGL_texture(
                                              texname,
                                              SOIL_LOAD_AUTO,
                                              SOIL_CREATE_NEW_ID,
                                              SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT
                                              );
    glBindTexture( GL_TEXTURE_2D, texture );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
    glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
    return texture;
}

我有
#include <SOIL.h>

最佳答案

事实证明,在链接libopengl32之前必须先链接libSOIL。因此,例如:g++ -g source.cpp -lglu32 -lSOIL -lopengl32 -lfreeglut将起作用,但将libSOIL保留在最后将导致上述错误。

10-07 18:36