4

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

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

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

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

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

  5. 把#include“SOIL.h”

功能 *SOIL_load_image* 被发现但

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

4

2 回答 2

16

我知道这个问题现在已经有几个星期了,但我认为它不会受到伤害。

您得到的实际错误是(可能)因为您在要链接的库列表中缺少分号。

如果你去 Properties -> Linker -> Input -> Additional Dependencies (我假设你一定去过,虽然它不在你的步骤列表中),它应该说类似SOIL.lib%(AdditionalDependencies).

如果将其更改为SOIL.lib;%(AdditionalDependencies)(注意分号!),则该错误应该消失。

什么%(AdditionalDependencies)是附加一些微软知道(或认为)你需要的其他库。其中第一个是kernel.lib,所以没有分号来分隔你的SOIL.liband kernel.lib,链接器试图找到SOIL.libkernel.lib不存在的 !

于 2013-12-10T21:11:21.237 回答
2

和这里

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

你都错了。该名称libSOIL.a表明您下载了一个旨在与 GCC 工具链一起使用的构建。具有文件名的库lib….a使用与名为….lib.

你需要一个用于 VC++ 的 SOIL 构建。

于 2013-11-16T12:56:27.077 回答