Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我应该如何设置Vulkan SDK环境变量?_Linux_Environment Variables_Vulkan - Fatal编程技术网

Linux 我应该如何设置Vulkan SDK环境变量?

Linux 我应该如何设置Vulkan SDK环境变量?,linux,environment-variables,vulkan,Linux,Environment Variables,Vulkan,提供了有关设置运行时环境以允许应用程序查看本地Vulkan SDK安装的说明: 设置VULKAN_SDK变量后,在环境中设置这些变量: $ export PATH=$PATH:$VULKAN_SDK/bin $ export LD_LIBRARY_PATH=$VULKAN_SDK/lib $ export VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d 这些命令我该怎么办?目前我只是将它们放在我的~/.bashrc文件的末尾: $ tail -4

提供了有关设置运行时环境以允许应用程序查看本地Vulkan SDK安装的说明:

设置VULKAN_SDK变量后,在环境中设置这些变量:

$ export PATH=$PATH:$VULKAN_SDK/bin
$ export LD_LIBRARY_PATH=$VULKAN_SDK/lib
$ export VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d
这些命令我该怎么办?目前我只是将它们放在我的
~/.bashrc
文件的末尾:

$ tail -4 ~/.bashrc
VULKAN_SDK=~/vulkan/VulkanSDK/1.0.13.0/x86_64
export PATH=$PATH:$VULKAN_SDK/bin
export LD_LIBRARY_PATH=$VULKAN_SDK/lib
export VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d
到目前为止,这似乎是可行的,但这不只是在Bash中设置变量吗?如果我使用的是不同的shell或IDE呢


这是我应该设置Vulkan SDK环境变量的方法,还是有更好的方法?

在IDE中,有一种方法可以为正在运行的程序设置环境变量。这些设置通常与命令行参数设置一起提供


在程序本身中,您可以在加载vulkan加载程序之前在linux或windows中使用。

在IDE中,可以为正在运行的程序设置环境变量。这些设置通常与命令行参数设置一起提供


在程序本身中,您可以在加载vulkan加载程序之前在linux或windows中使用。

1.0.13.0之前的SDK版本用于将定义层的json文件复制到/etc/vulkan/explicit_layer.d。这使得设置VK_层路径的必要性降低

从1.0.13.0开始,SDK不再将文件放入系统目录。因此,不必使用VK_layer_路径指向$VULKAN_SDK/etc/explicit_layer.d中的json文件,您可以将$VULKAN_SDK/etc/explicit_layer.d的内容复制到~/.local/share/VULKAN/explicit_layer.d


Vulkan加载器在~/.local/share/Vulkan/explicit_layer.d和/etc/Vulkan/explicit_layer.d和/usr/share/Vulkan/explicit_layer.d之前用于将定义层的json文件复制到/etc/Vulkan/explicit_layer.d的SDK版本中搜索层。这使得设置VK_层路径的必要性降低

从1.0.13.0开始,SDK不再将文件放入系统目录。因此,不必使用VK_layer_路径指向$VULKAN_SDK/etc/explicit_layer.d中的json文件,您可以将$VULKAN_SDK/etc/explicit_layer.d的内容复制到~/.local/share/VULKAN/explicit_layer.d


Vulkan加载器在~/.local/share/Vulkan/explicit_layer.d以及/etc/Vulkan/explicit_layer.d和/usr/share/Vulkan/explicit_layer.d中搜索层设置环境变量的最佳位置在很大程度上取决于您的用例和您使用的发行版。 但是,如果您在Ubuntu桌面上运行IDE,并且希望这些变量在全局范围内可用,我建议将它们放在~/.profile文件中,而不是放在~/.bashrc文件中

~/.bashrc在启动bash终端时都是源代码,因此只适用于从终端运行的工具,而不适用于从桌面启动器启动的工具

另一方面,~/.profile是在您登录时获取的,因此它的变量在终端和桌面上全局可用。 但是,对于~/.profile,您必须注销并重新登录,更改才能生效


或者,正如ratchet freak所说,大多数(但不是所有)IDE都提供了自己的工具来设置环境变量。这适用于Code::Blocks和Qt Creator,但不适用于Android Studio。因此,就个人而言,我仍然更喜欢将它们放在~/.profile中。

设置环境变量的最佳位置在很大程度上取决于您的用例以及您使用的发行版。 但是,如果您在Ubuntu桌面上运行IDE,并且希望这些变量在全局范围内可用,我建议将它们放在~/.profile文件中,而不是放在~/.bashrc文件中

~/.bashrc在启动bash终端时都是源代码,因此只适用于从终端运行的工具,而不适用于从桌面启动器启动的工具

另一方面,~/.profile是在您登录时获取的,因此它的变量在终端和桌面上全局可用。 但是,对于~/.profile,您必须注销并重新登录,更改才能生效


或者,正如ratchet freak所说,大多数(但不是所有)IDE都提供了自己的工具来设置环境变量。这适用于Code::Blocks和Qt Creator,但不适用于Android Studio。所以,就我个人而言,我还是更喜欢把它们放在~/.profile中。

这样就没有办法全局设置变量了?或者只是不建议这样做?在登录或启动时运行的批处理文件中,您可以设置env var,但不建议这样做。你能给你的答案添加一个关于如何设置所需的层清单文件的更详细的解释吗?这样就没有一种全局设置变量的方法了?或者只是不建议这样做?在登录或启动时运行的批处理文件中,您可以设置env var,但不建议这样做。您能否在回答中添加一个关于如何设置所需图层清单文件的更详细说明?这样就无需在
~/.bashrc
中设置
VK\u图层路径,对吗?是否有任何方法可以消除设置
LD\u LIBRARY\u PATH
的需要?(我尝试删除
export PATH=$PATH:$VULKAN_SDK/bin
部分,它似乎没有破坏任何东西,所以我想这是没有必要的?)是的,这样就不需要设置
VK_LAYER_PATH
。缺点是,如果安装新SDK,则需要记住将json文件重新复制到.local。也许在本地添加一个符号链接可以避免这种情况。是的,您仍然需要设置
LD_LIBRARY_PATH
,除非您将二进制文件复制到默认加载程序路径中的某个位置。“安装”二进制文件的一种替代方法是编辑每个json文件,将完整路径名放入
库_path
成员中。除非您想调用
中的任何可执行文件,否则您不需要修改
路径