首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带cmake的Vulkan HPP

带cmake的Vulkan HPP
EN

Stack Overflow用户
提问于 2021-09-11 15:49:50
回答 1查看 326关注 0票数 1

我正在尝试使用cmake和fetch_content来包含vulkan hpp库(我想自动化这一点,我不希望用户手动安装vulkan,如果这是一种错误的方法,请让我知道,因为我刚刚开始使用cmake),如以下代码片段所示

代码语言:javascript
复制
include(FetchContent)

FetchContent_Declare(
        vulkanhpp
        GIT_REPOSITORY https://github.com/KhronosGroup/Vulkan-Hpp.git
        GIT_TAG b97783be3ed973f4e0d96fc7c680920f5ab0aa3a #1.2.191
)

FetchContent_GetProperties(vulkanhpp)
if ( NOT vulkanhpp_POPULATED )
    message ( STATUS "Fetching vulkanhpp" )
    FetchContent_Populate(vulkanhpp)

    set ( SAMPLES_BUILD OFF CACHE INTERNAL "Build the vulkan hpp samples" )
    set ( VULKAN_HPP_INSTALL OFF CACHE INTERNAL "Install vulkan hpp" )

    add_subdirectory ( ${vulkanhpp_SOURCE_DIR} ${vulkanhpp_BINARY_DIR} )
endif ()

现在我的问题是,当我放入cpp文件时,我不知道如何在main.cpp文件中包含" include“文件夹:

#include "vulkan/vulkan.hpp"

而不是将完整路径放在CMakeLists.txt中,而是使用某个CMake变量

我的另一个cmake列表如下

代码语言:javascript
复制
include_directories ( "" ) ### what should I put here for include vulkan hpp library ###

# Add source to this project's executable.
add_executable ( example "main.cpp" )

这是自动管理vulkan hpp依赖关系的正确方式吗?在不使用find_package的情况下,还有其他选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-13 15:45:32

您指定的存储库实际上并不包含Vulkan标头。请改用this。它提供了一个CMakeLists.txt文件,该文件将头文件添加到一个名为Vulkan::Headers的库中,因此您只需添加子目录,然后使用target_link_libraries(example PRIVATE Vulkan::Headers)链接到它们。但是你为什么要这么做呢?要使用Vulkan,您必须安装Vulkan SDK (实际的库),并且SDK还包括头文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69144529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档