【问题标题】:How do I install SOIL (Simple OpenGL Image Loader)?如何安装 SOIL(简单的 OpenGL 图像加载器)?
【发布时间】:2013-09-19 05:10:06
【问题描述】:

SOIL website 没有任何安装说明。我下载的文件没有自述文件。我在 Google 上找不到任何东西。

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

我正在使用 Ubuntu。

【问题讨论】:

  • 下载 zip 文件,然后从 projects/makefile 文件夹执行 make 是这样,但我得到了一个错误 - can't create obj/image_helper.o: No such file or directory。我必须在projects/makefile (mkdir obj) 中创建 obj 目录,然后 make 进行得很好。您将在 Simple OpenGL Image Library/lib/libSOIL.a 找到构建的文件

标签: c++ opengl ubuntu


【解决方案1】:

正如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'?

【讨论】:

    【解决方案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】:

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

    $make
    $make install
    

    然后您可以使用这个库,只需在您的 C++ 文件中包含 SOIL.h。

    【讨论】:

      【解决方案4】:

      我在 GitHub 上找到了这个存储库 SOIL。将存储库克隆到您的机器上,然后在 Linux 系统的命令行上执行以下操作: make make install 那么你就完成了!

      【讨论】:

        猜你喜欢
        • 2017-03-05
        • 2019-08-25
        • 2023-03-15
        • 2018-01-28
        • 2020-02-15
        • 2019-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多