包括具有一级间接寻址的标题吗?

时间:2018-12-12 18:48:36

标签: c++ cmake header sdl

要在Windows上使用CMake在我的项目中包含SDL2库,请执行以下操作:

target_include_directories(main_receiver PRIVATE "D:/Programs/SDL2-2.0.9/include")
target_link_libraries(main_receiver "D:/Programs/SDL2-2.0.9/lib/x64/SDL2.lib")

我现在可以将每个头文件直接包含在D:/Programs/SDL2-2.0.9/include中:

#include <SDL.h>
#include <SDL_audio.h>
#include <SDL_bits.h>
#include <SDL_assert.h>
. . .

但是在Vulkan模板(Vulkan SDK包含第三方SDL2库)中,所有SDL2包含的内容都是这样完成的:

#include <SDL2/SDL.h>
#include <SDL2/SDL_audio.h>
#include <SDL2/SDL_bits.h>
#include <SDL2/SDL_assert.h>
. . .

如何使用后一种模式/样式?

我更喜欢它,因为它减少了命名冲突,并且还有助于区分我使用的是SDL2版本的库。

1 个答案:

答案 0 :(得分:0)

好的,所以drescherjm的评论很接近。

只需将所有头文件放在/ include目录内名为SDL2的文件夹中,现在就可以使用头文件包括的第二种方法:

#include <SDL2/SDL.h>