Include 排除#包含错误
在我的计划的顶端,我有Include 排除#包含错误,include,scope,sdl,Include,Scope,Sdl,在我的计划的顶端,我有 #include "SDL/SDL_image.h" 当我试图使用SDL_image的函数之一进行编译时,它说 load_image() 未在此范围内声明。我可以做些什么来确保一切设置正确 我已将其包含在链接器设置中。错误消息来自编译器,而不是链接器。因此,链接器设置没有任何区别 如果您完全不懂,可以要求编译器(预处理器)生成它试图编译的预处理代码。(相关的gcc选项是-save temps),这样您就可以看到是否真正声明了load\u image。可能是条件编译选项
#include "SDL/SDL_image.h"
当我试图使用SDL_image的函数之一进行编译时,它说
load_image()
未在此范围内声明。我可以做些什么来确保一切设置正确
我已将其包含在链接器设置中。错误消息来自编译器,而不是链接器。因此,链接器设置没有任何区别 如果您完全不懂,可以要求编译器(预处理器)生成它试图编译的预处理代码。(相关的gcc选项是
-save temps
),这样您就可以看到是否真正声明了load\u image
。可能是条件编译选项排除了声明,或者找不到某个包含文件,您错过了错误消息。
另外,如果你编译C++代码,我假设你是,SDL的东西应该被包装在<代码>外C*/COD>块(虽然我相信这会导致链接错误)。但是,这些可能已经包含在SDL标题中
如果所有其他方法都失败,请将预处理的输出上传到某个地方,以便我们可以查看
编辑:据我所知,图像加载器函数实际上被称为
IMG\u Load
,我看不到有人提到Load\u image
包含的库是否将函数放在名称空间中?如果是这样,那么在调用([name]::load_image())时,您需要一个using声明(使用名称空间[name])或一个完全限定的名称