本文介绍了未定义的引用`SOIL_load_OGL_texture'?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道为什么这样说:

I am don't know why this keeps saying:

这是代码:

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>


推荐答案

原因是你必须链接 libSOIL ,然后再关联libopengl32 。所以,例如:
g ++ -g source.cpp -lglu32 -lSOIL -lopengl32 -lfreeglut 将工作,但留下 libSOIL last导致上述错误。

It turns out you have to link libSOIL before linking libopengl32. So, for example:
g++ -g source.cpp -lglu32 -lSOIL -lopengl32 -lfreeglut will work, but leaving libSOIL last will result in the error above.

这篇关于未定义的引用`SOIL_load_OGL_texture'?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 08:41