2

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

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

我正在使用 Ubuntu。

4

4 回答 4

9

正如在 Ubuntu 上编译 OpenGL SOIL所建议的那样,

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

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

#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

(来源:对“SOIL_load_OGL_texture”的未定义引用?

于 2015-08-30T10:06:38.177 回答
4

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

下载土壤.zip

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

打开土壤.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());
}
于 2015-11-22T22:50:10.477 回答
3

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

$make
$make install

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

于 2013-09-19T05:48:34.023 回答
2

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

于 2016-03-17T13:57:50.187 回答