使用soil2库链接错误的问题,_sprintf已在soil2-debug.lib(SOIL2.obj)中定义

问题描述

我已经在链接提示中尝试了不同的搜索各种命令,我使用的是 Visual Studio 2013; /NODEFAULTLIB:MSVCRT /MD

我的目标是加载一个使用openGL 和soil2 库显示图像的应用程序。
但是没有结果,我用来加载图像的代码

//texture init
int image_width = 0;
int image_height = 0;
unsigned char* image = SOIL_load_image("images/sklero.png",&image_width,&image_height,NULL,SOIL_LOAD_RGBA);

gluint texture0;
glGenTextures(1,&texture0);
glBindTexture(GL_TEXTURE_2D,texture0);

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT); // x
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT); // y
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR_MIPMAP_LINEAR); 
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); 


if (image)
{

    glTexImage2D(GL_TEXTURE_2D,GL_RGBA,image_width,image_height,GL_UNSIGNED_BYTE,image);
    glGenerateMipmap(GL_TEXTURE_2D);

}
else
{

    std::cout << "error texture fail"<<"\n";

}

glActiveTexture(0);
glBindTexture(GL_TEXTURE_2D,0);
SOIL_free_image_data(image); 

所有错误

  • 错误 1 ​​错误 LNK2005:_sprintf 已在 soil2-debug.lib(SOIL2.obj) C:\Users...\MSVCRTD.lib(MSVCR120D.dll) 中定义
  • 错误 3 错误 LNK2019:未解析的外部符号 __imp____stdio_common_vsprintf 在函数 __vsnprintf_l 中引用 C:\Users...\soil2-debug.lib(SOIL2.obj)
  • 警告 2 警告 LNK4098:defaultlib 'MSVCRT' 与其他库的使用冲突;使用 /NODEFAULTLIB:library C:\Users...\LINK

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)