Glslang VS项目设置

时间:2018-09-29 21:50:55

标签: visual-studio cmake vulkan

我正在遵循此quick tutorial,但是我不确定如何为我现有的使用LunarG Vulkan SDK(包括glslang和SPIRV文件夹)的VS 2017项目做项目设置部分。我尝试使用here中的表格转换教程中的cmake命令;我可以包含glslang目录,但是我无法弄清楚应该添加什么以与glslang和SPIRV链接的properties-> linker-> input->其他依赖项。我是否必须以某种方式首先编译这些然后链接到它们?在那种情况下该怎么办?

1 个答案:

答案 0 :(得分:1)

  

我是否必须先以某种方式编译它们然后链接到它们?在那种情况下该怎么办?

是的。如果要在运行时而不是在构建时使用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创建一个项目并进行构建,届时您将能够使用它创建的二进制文件作为链接器输入 BUT 需要确保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