【问题标题】:can not reference "vkGetAccelerationStructureBuildSizesKHR" in building vulkan program在构建 vulkan 程序时无法引用“vkGetAccelerationStructureBuildSizesKHR”
【发布时间】:2021-07-18 23:34:36
【问题描述】:

[摘要] 我无法编译 vulkan 程序,包括“vkGetAccelerationStructureBuildSizesKHR”或“vkCreateAccelerationStructureKHR”,并出现错误“未定义对 `vkGetAccelerationStructureBuildSizesKHR' 的引用”。

[环境] 操作系统:Ubuntu 20.04 命令:带有选项 -lvulkan 的 clang++ vulkan 版本:1.2.170

[尝试了什么] 我想它需要更多的图书馆。 我添加了“-lvulkan_radeon”,但没有任何改变。

作为参考,如果我的程序不包含光线追踪的任何新功能,我可以正常构建它。 我读到 1.2.167 版正式支持光线追踪功能,所以我希望我可以在没有任何额外工作的情况下构建它,但我不能。 是否有任何其他库要链接?

【问题讨论】:

    标签: c++ linux clang vulkan raytracing


    【解决方案1】:

    与所有由扩展提供且不属于核心的函数一样,您必须在应用程序中手动定义并获取函数指针,然后才能调用它:

    PFN_vkGetAccelerationStructureBuildSizesKHR pfnGetAccelerationStructureBuildSizesKHR;
    pfnGetAccelerationStructureBuildSizesKHR = reinterpret_cast<PFN_vkGetAccelerationStructureBuildSizesKHR>(vkGetDeviceProcAddr(device, "vkGetAccelerationStructureBuildSizesKHR"));
    

    【讨论】:

    • 非常感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多