C++ 编译器未找到SDL_纹理

C++ 编译器未找到SDL_纹理,c++,textures,sdl,C++,Textures,Sdl,因此,我正在尝试为SDL\u RenderCopy()制作一个包装器,出于某种原因,我不断收到一个错误,上面写着“使用未定义的类型'SDL\u Texture'”。我已经链接了所有SDL2的库并包含了标题。代码如下: void drawImage(Uint32 tex, float x, float y){ SDL_Rect rec; rec.x = x; rec.y = y; if(vcTextures.size() > tex){ //If the ar

因此,我正在尝试为
SDL\u RenderCopy()
制作一个包装器,出于某种原因,我不断收到一个错误,上面写着“使用未定义的类型'SDL\u Texture'”。我已经链接了所有SDL2的库并包含了标题。代码如下:

void drawImage(Uint32 tex, float x, float y){
    SDL_Rect rec;
    rec.x = x;
    rec.y = y;
    if(vcTextures.size() > tex){ //If the argument is in range
        if(vcTextures[tex] != 0){ //If the index points to an image
            rec.w = vcTextures[tex]->w;
            rec.h = vcTextures[tex]->h;
            SDL_RenderCopy(gvRender, vcTextures[tex], 0, &rec);
        };
    };
};
vctures
类型为
vector
,用于存储所有加载纹理的地址,以便在执行结束时轻松清理。这是唯一发生这种情况的地方。当我点击“see declaration of'SDL_Texture'”消息时,它会向我显示声明,因此我知道就文件而言,该类型是存在的

以下是完整的错误消息:

1>f:\c++\xyg\xyg_runtime\graphics.cpp(125) : error C2027: use of undefined type 'SDL_Texture'
1>        d:\sdl2\vc\include\sdl_render.h(127) : see declaration of 'SDL_Texture'
1>f:\c++\xyg\xyg_runtime\graphics.cpp(125) : error C2227: left of '->w' must point to class/struct/union/generic type

您不应该直接访问SDL_纹理的成员。这是一个很好的例子。我很确定文档中没有提到成员
w
h
,所以我不知道你是从哪里想到的。如果要获取有关纹理的信息,可以使用


这个源文件中包含SDL头吗?您是否可以编辑您的问题,以包含实际的编译器输出,如文本、复制粘贴(而不是重写或编辑)和完成(包括任何其他警告、错误或信息性消息)?如果可能的话,请尝试创建一个并向我们展示。是的,我在源文件中包含了它,并且添加了完整的错误消息。我必须编写一个全新的程序来提供MCVE,所以这需要一些时间。SDL_纹理的wiki页面中没有提到这一点。再说一次,SDL2的很多wiki都非常不完整。我看看这是否管用。
SDL_QueryTexture(vcTextures[tex], nullptr, nullptr, &rec.w, &rec.h);