问题描述
我已经在链接器提示中尝试了不同的搜索各种命令,我使用的是 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 (将#修改为@)