为了在我的项目中使用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版本的库。
发布于 2018-12-13 05:21:00
好的,drescherjm的评论很接近。
只需将所有头文件放在/include目录内名为SDL2的文件夹中,现在就可以使用header includes的第二种方法了:
#include <SDL2/SDL.h>https://stackoverflow.com/questions/53749507
复制相似问题