正确包含 SDL 子组件

问题描述 投票:0回答:1

10 年前,我在 Mac 上工作,使用 SDL2 及其几个子组件构建了一个项目: sdl2_image、sdl2_mixer、sdl2_ttf。其中每一个都作为框架安装在我的 Mac 上。正确的包含模式是:

#include <SDL2/SDL.h>
#include <SDL2/SDL2_gfxPrimitives.h>
#include <SDL2_image/SDL_image.h>
#include <SDL2_mixer/SDL_mixer.h>
#include <SDL2_ttf/SDL_ttf.h>

但现在我已经使用自制软件安装在较新的机器上。我没有找到像 SDL2_image 这样的目录,但我确实找到了 /opt/homebrew/include/SDL2 ,它实际上包含 SDL_image.h、SDL_mixer.h 等。这导致了不同的包含模式:

#include <SDL2/SDL.h>
#include <SDL2/SDL2_gfxPrimitives.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_mixer.h>
#include <SDL2/SDL_ttf.h>

请帮助我理解:以下哪一个是“更正确”的做事方式? Linux 和 Windows 哪个更易于移植?

c++ include sdl-2
1个回答
0
投票

最佳/推荐方式

#include <SDL_image.h>

并调整包含路径(手动或使用
sdl-config --cflags
)。

© www.soinside.com 2019 - 2024. All rights reserved.