如何安装SOIL(Simple OpenGL Image Loader)?

时间:2013-09-19 05:10:06

标签: c++ opengl ubuntu

SOIL website没有任何安装说明。我下载的文件没有自述文件。我没有找到任何关于谷歌的东西。

我怀疑g ++会检查我的计算机上的每个目录,看它是否能找到它。是否有一个特定的文件夹我应该把它放进去?我应该运行一个脚本吗?

我正在使用Ubuntu。

4 个答案:

答案 0 :(得分:7)

根据Compiling OpenGL SOIL on Ubuntu的建议,

首先从其网站下载SOIL.h头文件 http://www.lonesock.net/soil.html

将头文件放在项目目录中并将其包含在项目文件中。

#include "SOIL.h" 

之后你必须安装土壤库才能使用-lSOIL。要安装库,请使用命令

sudo apt-get install libsoil-dev

现在使用gcc和-lSOIL

编译项目

如果您遇到错误:

  

对'SOIL_load_OGL_texture'的未定义引用

然后在编译时链接libopengl32之前链接libSOIL,例如:

g++ -g source.cpp -lglu32 -lSOIL -lopengl32 -lfreeglut

(来源:undefined reference to `SOIL_load_OGL_texture'?

答案 1 :(得分:2)

导航到projects / makefile文件夹并输入:

$make
$make install

然后你可以在你的C ++文件中使用这个库简单地包含SOIL.h。

答案 2 :(得分:2)

问题是关于Ubuntu。但是我一直在寻找如何让它在Windows中运行。但最终并没有那么复杂。

下载soil.zip

浏览“Simple OpenGL Image Library \ projects \ VC9”。

打开SOIL.sln。我有VS15所以我不得不为它升级解决方案。这是自动的,没有任何问题。

然后我构建了解决方案并创建了SOIL.lib。

我把这个.lib文件放在我的项目文件夹中。

在我的项目中添加了依赖项 - 属性/链接器/输入/附加依赖项

从“Simple OpenGL Image Library \ src”中取出SOIL.h并将其放入我的项目文件夹中。

然后我必须包含头文件

#include "SOIL.h"

我可以用它来加载这样的图像:

GLuint tex_2d = SOIL_load_OGL_texture
    (
        "pic.png",
        SOIL_LOAD_AUTO,
        SOIL_CREATE_NEW_ID,
        SOIL_FLAG_MIPMAPS | SOIL_FLAG_COMPRESS_TO_DXT
        );

if (0 == tex_2d)
{
    printf("SOIL loading error: '%s'\n", SOIL_last_result());
}

答案 3 :(得分:0)

我在GitHub上找到了这个存储库SOIL。将存储库克隆到您的计算机,然后在Linux系统上的命令行上执行以下操作: .InstancePerRequest(); 那你就完蛋了!