微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用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 举报,一经查实,本站将立刻删除。