如何将静态库(土壤)链接到visual studio 2010中的一个项目

How to link static library (of SOIL) to a project in visual studio 2010?

本文关键字:2010 项目 一个 studio 静态 土壤 链接 visual      更新时间:2023-10-16

我需要在我的项目中使用SOIL lib。

我在我的源文件目录中包含了SOIL.h和libSOIL.a(重命名为libSOIL.lib).

我已经将头文件作为现有项目添加到头文件中,并将头文件包含在我需要的另一个头文件中

我还尝试过:项目属性>链接器>输入>附加依赖项,然后在下拉菜单中单击"<Edit..>"并键入libSOIL.lib.

但我得到了这些错误:

查看下面(更新的错误)

我该怎么办?

编辑#1:

这就是我正在做的:

#include "gl/glut.h"  
#include "SOIL.h"

我的源目录中有这两个文件。

在没有从SOIL编写任何代码的情况下,构建成功了。

使用此代码:

/* load an image file directly as a new OpenGL texture */
GLuint grass_texture = SOIL_load_OGL_texture
(
    "original.bmp",
    SOIL_LOAD_AUTO,
    SOIL_CREATE_NEW_ID,
    SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT
);
/* check for an error during the load process */
if( 0 == grass_texture )
{
    printf( "SOIL loading error: '%s'n", SOIL_last_result() );
}

我得到这个错误:

错误1错误LNK2019:引用了未解析的外部符号__alloca在函数中_stbi_zlib_decode_noheader_buffer working_dir\libSOIL.lib(stb_image_aug.o)项目名称

错误2错误LNK2019:中引用的未解析外部符号_sqrtf作用_RGBE_to_RGBdivA2 working_dir\libSOIL.lib(image_helper.o)项目名称

错误3错误LNK1120:2未解析externals working_dir\Debug\ProjectName.exe ProjectName

我遇到了同样的问题。我的解决方案是转到projects/VCX文件夹,自己编译解决方案,然后将生成的.lib文件复制到我的项目中。编译解决方案时,请确保选择正确的平台(X86/X64)。还要确保项目可以找到包含.lib文件的路径。

尝试在SOIL.h之前首先包含OpenGL。

在这些库使用之前

包括windows。h

因为您正在处理windows。您的问题将得到解决。