标签: soil

未定义引用`SOIL_load_OGL_texture'?

我不知道为什么这样说:

未定义的引用"SOIL_load_OGL_texture

这是代码:

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;
}
Run Code Online (Sandbox Code Playgroud)

我有

#include <SOIL.h>
Run Code Online (Sandbox Code Playgroud)

c++ opengl soil

3
推荐指数
2
解决办法
5395
查看次数

简单的OpenGL图像库(SOIL)使用已弃用的功能?

本教程说明了有关SOIL库的以下内容:

虽然SOIL包含从图像自动创建纹理的功能,但它使用现代OpenGL中不可用的功能.因此,我们将简单地使用SOIL作为图像加载器并自己创建纹理.

那没关系,但功能是什么?图书馆的其他功能同样受到影响吗?我有一个谷歌,但没有提出任何关于此的信息.我已经看到它在opengl es应用程序中使用,其中IIRC仅具有核心opengl功能.

任何人都可以对所有功能是否可疑或是否只是load_ogl_texture有所了解.

opengl soil

3
推荐指数
1
解决办法
2246
查看次数

无法打开文件'SOIL.libkernel32.lib'

我需要在我的项目中使用SOIL库.我的步骤:

  1. 下载并解压缩到我的项目文件夹

  2. 将libSOIL.a重命名为SOIL.lib

  3. 属性>> C/C++>常规>>附加包含目录 - 添加"./SOIL/src"

  4. 属性>>链接器>>常规>>附加库目录 - 添加"SOIL.lib"

  5. 把#include"SOIL.h"

找到了函数*SOIL_load_image*但是

错误LNK1104:无法打开文件'SOIL.libkernel32.lib'

c++ opengl soil visual-studio-2012

3
推荐指数
1
解决办法
2662
查看次数

C ++ SOIL无法加载小图像

尝试使用SOIL为像素艺术游戏加载较小的纹理时遇到一些问题。这是加载40 x 40图像时的结果: 在此处输入图片说明

在此处输入图片说明

但是当我切换到30 x 40时: 在此处输入图片说明

在此处输入图片说明

我检查了我的代码,当宽度小于高度时是否存在任何问题,对于40 x 50,一切都还可以。我用Windows的图像查看器检查了30 x 40,看起来也不错。在使用坐标轴设置位置时,可能以任何方式影响装载机的一件事情,但是它工作正常。这是加载纹理的代码:

glGenTextures(1, &actor.texture);
glBindTexture(GL_TEXTURE_2D, actor.texture);
unsigned char* image = SOIL_load_image(("App/Textures/" + name + ".png").c_str(), &width, &height, 0, SOIL_LOAD_RGB);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
SOIL_free_image_data(image);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
Run Code Online (Sandbox Code Playgroud)

c++ opengl graphics textures soil

3
推荐指数
2
解决办法
82
查看次数

将 SOIL.lib 与 GCC 一起使用 - 添加符号时出错:无法识别文件格式

我最近一直在尝试将我的 Visual Studio OpenGL 项目转移到 VS Code,在 Windows 10 上通过 mingw-x64 使用 GCC。由于我对 C++ 编程相当陌生,因此我在这一切方面取得了稳步进展,并且我'遇到了一个我无法解决的错误。

使用以下命令构建时:

C:\Lib\mingw-w64\mingw64\bin\g++.exe -LC:/Lib/lib -IC:/Lib/include -g main.cpp -lglew32 -lglfw3 -lSOIL -lopengl32 -o build.exe
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误:

C:/Lib/lib/SOIL.lib: error adding symbols: File format not recognized
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我使用的 SOIL.lib 在 Visual Studio 中运行良好,并且 GCC 似乎对我使用的其他 .lib 文件没有任何抱怨。

似乎没有太多关于正在发生的事情的信息,我发现很多不同的人对不同的事情有相同的错误,而且我无法弄清楚这个神秘的错误消息实际上出了什么问题。有人可以帮忙吗?

c++ opengl gcc soil

2
推荐指数
1
解决办法
9047
查看次数

标签 统计

opengl ×5

soil ×5

c++ ×4

gcc ×1

graphics ×1

textures ×1

visual-studio-2012 ×1