将 SOIL2 链接到 Visual Studio 项目时遇到问题

问题描述

所以我下载了 SOIL2 和 premake5 的最新 src。我运行命令 premake5 vs2019 并构建静态库,效果很好。然后我转到我的项目属性,并做两件事 - 1)我将源文件包含在 C/C++>General 下的“附加包含目录”部分中,2)我将 SOIL2 构建中的库文件添加到 Linker>Input >附加依赖项。

好的,既然我做了这两件事,我确保在我的 main.cpp 中使用 #include (我也试过 #include "SOIL2.h")。但是,当我尝试构建我的项目时,在尝试调用方法 SOIL_load_OGL_texture 时出现编译错误错误读取

1>ld: error: undefined symbol: SOIL_load_OGL_texture
1>>>> referenced by Plane.cpp:49
1>>>>               x86\Debug\Plane.o:(Plane_setupGL(double,double))
1>>>> did you mean: _SOIL_load_OGL_texture
1>>>> defined in: C:\Users\------\source\repos\Sudoku\Linking\SOIL2\lib\soil2-debug.lib

好的,所以我试着用那个方法编译它(_SOIL_load_OGL_texture,同样的事情只是因为一些莫名其妙的原因在前面加了一个下划线......wtf??)。然后我得到这个编译错误-

1>Plane.cpp(49,12): error : use of undeclared identifier '_SOIL_load_OGL_texture'; did you mean 'SOIL_load_OGL_texture'?
1>        texture = _SOIL_load_OGL_texture("C:\\Users\\------\\source\\repos\\Sudoku\\Sudoku\\Sudoku.Android.Packaging\\Resources\\sudokuboard.png",SOIL_LOAD_AUTO,SOIL_CREATE_NEW_ID,SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT);
1>                  ^~~~~~~~~~~~~~~~~~~~~~
1>                  SOIL_load_OGL_texture
1>C:\Users\------\source\repos\Sudoku\Linking\SOIL2\include\SOIL2.h(166,2): note: 'SOIL_load_OGL_texture' declared here
1>        SOIL_load_OGL_texture

WTF???我不知道这里发生了什么。该项目是一个android/ios opengl c++项目,顺便说一句。

解决方法

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

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

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