Включить заголовки с одним уровнем косвенности? - PullRequest
0 голосов
/ 12 декабря 2018

Чтобы включить библиотеку SDL2 в мой проект с использованием CMake в Windows a, сделайте следующее:

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>
. . .

Как использовать последний режим/ style?

Мне нравится это больше, потому что это уменьшает конфликты имен, и это также помогает отличить, что я использую версию библиотеки SDL2.

1 Ответ

0 голосов
/ 13 декабря 2018

Хорошо, комментарий drescherjm был закрыт.

Просто поместите все файлы заголовков в папку с именем SDL2 в каталог / include, и теперь вы можете использовать второй метод заголовка включает в себя:

#include <SDL2/SDL.h>
...