首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义的对‘`SOIL_load_OGL_纹理’的引用?

未定义的对‘`SOIL_load_OGL_纹理’的引用?
EN

Stack Overflow用户
提问于 2013-07-05 22:15:14
回答 4查看 7.1K关注 0票数 3

我不知道为什么这句话总是说:

对"SOIL_load_OGL_texture“的未定义引用

这是代码:

代码语言:javascript
复制
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;
}

我有过

代码语言:javascript
复制
#include <SOIL.h>
EN

回答 4

Stack Overflow用户

发布于 2013-12-29 09:58:15

事实证明,在链接libSOIL之前,您必须链接libopengl32。因此,例如:

g++ -g source.cpp -lglu32 -lSOIL -lopengl32 -lfreeglut将工作,但最后离开libSOIL将导致上述错误。

票数 8
EN

Stack Overflow用户

发布于 2014-02-06 23:17:20

查看"Simple OpenGL Image /projects/makefile“,然后在那里创建一个名为"obj”的目录。现在从makefile所在的命令行运行"make“,然后”makefile“。它应该安装库和头文件。现在试着编译,它对我有用。如果收到任何关于libm的错误,只需在链接选项中添加"-lm“即可。

票数 5
EN

Stack Overflow用户

发布于 2013-07-05 22:22:00

未定义的引用意味着需要将土壤库链接到应用程序。有不同的方法来实现它,这取决于您使用的平台和编译器。在Linux上,您需要将类似-lsoil的内容添加到链接器标志中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17497497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档