我的程序包含该行
#include <SDL/SDL_gfxPrimitives.h>
使用libsdl-gfx2.0.25
(和-I/usr/local/include
)编译就可以了。但是,升级到libsdl-gfx2.0.26
后,我看到了来自Clang的错误消息:
In file included from ./sysconfig.h:271:
/usr/local/include/SDL/SDL_gfxPrimitives.h:38:10: error: 'SDL.h' file not found with <angled> include; use "quotes"
instead
#include <SDL.h>
^
1 error generated.
我已经证实问题的直接原因是SDL/SDL_gfxPrimitives.h
的这一行曾经有"SDL.h"
,但是在2.0.26版本中,它已更改为<SDL.h>
。 (它尝试读取的文件实际上位于/usr/local/include/SDL/SDL.h
。应该使用其用户空间名称<SDL/SDL.h>
或相对路径名称"SDL.h"
将其包括在内。{{1 }}都不是。)
我已经通过电子邮件通知了libsdl-gfx维护者Andreas Schiffler(并在我的电子邮件中指出了这个SO问题)。
鉴于我不想对<SDL.h>
中的标头进行本地修改,同时解决此错误的最佳方法是什么?