使用GLEW 1.10.0和SDL 2.0时出现问题

Troubles using GLEW 1.10.0 and SDL 2.0

本文关键字:0时 问题 SDL GLEW 使用      更新时间:2023-10-16

以下代码产生了4个与我使用sdl和glew函数有关的错误。我使用的是VS Express 2013,并已链接到相应的sys32/syswow64文件夹中的标头、库和dll。可能是什么问题?

    #include "stdafx.h"
    #include <iostream>
    #include "glew.h"
    #include "SDL.h"
    int wmain(int argc, char ** argv[]){
    SDL_Window *sdl_Window;
    SDL_GLContext sdl_GL_Context;
    sdl_Window = SDL_CreateWindow("SDL2/OpenGL Demo", 0, 0, 640, 480,  
        SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);
    sdl_GL_Context = SDL_GL_CreateContext(sdl_Window);
    // init glew
    GLenum glewInitResult;
    glewExperimental = GL_TRUE;
    glewInit();
    glClearColor(0, 0, 0, 0);
    return 0;
    }

以下是错误:错误1错误LNK2019:未解析的外部符号_glewInit@0在函数_wmain 中引用

    Error 2 error LNK2019: unresolved external symbol _SDL_CreateWindow referenced in function _wmain   
    Error 3 error LNK2019: unresolved external symbol _SDL_GL_CreateContext referenced in function _wmain   
    Error 4 error LNK2001: unresolved external symbol _glewExperimental 
    Error 5 error LNK1120: 4 unresolved externals   

您可能需要检查两个问题。

当我链接到lib文件的不正确的体系结构版本(x64而不是x86)时,我遇到了链接问题

您必须确保包含lib文件的目录位于有问题项目的链接器属性页的"附加库目录"属性中

旧帖子,但如果有人对此有问题:确保标题和库链接正确放置:

项目/属性:切换到所有配置:

c/c++-常规-其他包含目录:包含所有"包含"文件(glew1.10在包含文件中有一个名为GL的附加文件……您必须链接到此文件。

linker/general-其他库目录:sdl库在lib目录中包含x64或86文件-您必须链接到x64或86…glew1.10具有Release或ReleaseMX目录,然后链接到lib目录中的Win32或x64。。。您必须链接到其中一个目录中的win32或x64

链接器/输入-其他依赖项:包括lib文件SDL2.lib;SDL2main.lib;glew32.lib;opengl32.lib;等等等等

试试这个,而不是放在系统文件夹:

解决方案资源管理器/右键单击项目名称-在文件资源管理器中打开文件夹将dll(glew32.dll-SDL2.dll)放在项目(调试和正常)目录中

看看这是否有效:

如果不是。。。启动一个新的空项目并执行以下操作:)