visual-studio - Glslang VS 项目设置
问题描述
我正在关注这个快速教程,但我不确定如何为我预先存在的 VS 2017 项目执行项目设置部分,该项目使用包含 glslang 和 SPIRV 文件夹的LunarG Vulkan SDK 。我尝试使用此处找到的表格来转换教程中的 cmake 命令;我能够包含 glslang 目录,但我不知道应该添加什么到属性->链接器->输入->用于链接 glslang 和 SPIRV 的附加依赖项。我是否必须先以某种方式编译这些然后链接到它们?在这种情况下我该怎么做?
解决方案
我是否必须先以某种方式编译这些然后链接到它们?在这种情况下我该怎么做?
是的。如果您想在运行时而不是在构建时使用 glslang 工具,您需要首先构建它们。VulkanSDK 包含 glslang 源代码,但不包含二进制文件。由于 glslang 的接口是 C++,而不是像 Vulkan 这样的 C,因此生成适用于所有人的二进制文件基本上是不可能的。
您链接到的教程包括:
add_subdirectory(${LIB_DIRECTORY}/glslang)
这基本上意味着“在我自己的项目中包含这个其他基于 CMake 的项目”,这反过来意味着它将具有与您自己的基于 CMake 的项目相同的构建设置。为了绕过 CMake,您需要从头开始为 glslang 构建一个 Visual Studio 项目。
我对您的建议是停止尝试将本教程融入您预先存在的 Visual Studio 项目中,而只需使用 CMake 生成您的 VS 项目,以便您可以直接按照教程进行操作。您在预先存在的 VS 项目中的任何设置都极不可能很快地复制到基于 CMake 的 VS 项目中。
或者,您可以学习足够的 CMake 来为 glslang 创建一个项目并构建它,此时您将能够使用它创建的二进制文件作为您的链接器输入,但您需要确保项目设置在glslang 生成的项目与您自己的项目非常接近,特别是运行时库和 32/64 位,并确保您不会在依赖项中混合和匹配发布和调试版本。
这是构建 glslang 的简单方法,假设您已安装 CMake 并正确安装了 VulkanSDK:
mkdir %VULKAN_SDK%\..\glslang
cd %VULKAN_SDK%\glslang
mkdir build
cd build
cmake .. -G "Visual Studio 15 Win64" -DCMAKE_INSTALL_PREFIX=%VULKAN_SDK%\..\glslang
cmake --build . --config Release
cmake --build . --config Debug
cmake --build . --config Release --target INSTALL
cmake --build . --config Debug --target INSTALL
推荐阅读
- jquery - 单击 Href 链接时使 Jquery Datatable 单元格可编辑
- javascript - 如何在JS中的另一个函数中执行一个函数
- java - Android Volley 获取请求,我的 onResponse 永远不会被调用
- azure-devops - Azure DevOps 代码审查电子邮件未列出要审查的文件
- c# - 需要显示具有自定义对齐方式的列表视图项
- wpf - WPF 日历中 PART_HeaderButton 的 NullReferenceException
- python - 如何将关键事件发送到python中的非活动窗口
- java - 执行appium脚本时遇到javapath错误
- python - 作为 groupby 查询的结果,如何从 DF 中删除行?
- php - 如何将此 RewriteRule 重定向到正确的页面?