SOIL 网站没有任何安装说明。我下载的文件没有自述文件。我没有用谷歌找到任何东西。
我怀疑 g++ 会检查我计算机上的每个目录,看看它是否能找到它。是否有我应该放入的特定文件夹?有我应该运行的脚本吗?
我正在使用 Ubuntu。
正如在 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
问题是关于 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());
}
导航到项目/makefile 文件夹并键入:
$make
$make install
然后您可以使用这个库,只需在您的 C++ 文件中包含 SOIL.h。
我在 GitHub 上找到了这个存储库SOIL 。将存储库克隆到您的机器上,然后在 Linux 系统的命令行上执行以下操作:
make
make install
就完成了!