Visual Studio 2010中的SOIL设置
我无法使用Visual Studio 2010正常工作 – 我远不是VS的专家,但据我所知,只有以下步骤才能使环境正常工作:
属性>> C / C ++>常规>>其他包含目录添加到SOIL.h的路径中
属性>>链接器>>常规>>附加库目录添加到libSOIL.a的路径
我也使用免费的GLUT,并且这里也设置了glut文件的路径 – 我还将Dubugging >> Environment Path设置为GLUT bin文件。
当我使用SOIL_load_OGL_texture时,我收到以下错误:
错误LNK2019:函数“void __cdecl init(void)”中引用了未解析的外部符号_SOIL_load_OGL_texture(?init @@ YAXXZ)
尝试将libSOIL.a重命名为libSOIL.lib和SOIL.lib,但它不起作用。 然后我构建了VC8项目并使用了.lib,如此处所示, SOIL没有正确链接,但也没有用。
我在他们的主页上使用示例代码
GLuint tex_2d; tex_2d = SOIL_load_OGL_texture ( " C:\\Sunset.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 ); /* check for an error during the load process */ if( 0 == tex_2d ) { printf( "SOIL loading error: '%s'\n", SOIL_last_result() ); }
听起来你实际上没有将SOIL.lib
放在你的Properties -> Linker -> Input -> Additional Dependencies
列表中。
FreeGLUT标头有一些特定于Win32的#pragma
s来引入正确的.lib
文件,这就是为什么只设置Additional Library Directories
。 SOIL没有那些,所以你必须专门告诉链接器使用哪个.lib
。
可能是它的旧线程,我仍然会分享一些东西。
-
从http://www.lonesock.net/soil.html下载zip并解压缩。
-
在您的visual studio项目中包含路径(项目 – >属性 – > vc ++目录 – >包含目录)添加到“src”文件夹的路径。 同一个地方 – >库目录添加“lib”文件夹。 project – > properties – > Linker – > Input – > Additional Dependencies – > Edit to add“SOIL.lib”
-
此步骤很重要,因为人们倾向于将.a文件重命名为.lib。 不要那样做。 而是进入“项目”文件夹,选择VC *(例如VC8 for VS2012) – >打开visual studio文件 – >它将使用您的visual studio打开 – >单击确定 – >单击确定。 您的解决方案将准备就绪。
现在按F5 / Run来构建和运行。 在执行此操作时要小心,以防您的项目使用x64调试版本,然后在此处选择相同的内容,然后再构建解决方案。
- 将在VC *文件夹中创建文件夹/文件。 进入Debug / x64(取决于您的项目),将SOIL.lib文件复制到原始“lib”文件夹(您在步骤2中的Visual Studio属性中指向)。
此时,你已经完成了。 它应该工作。