Xcode无法加载libvulkan.1.dylib

时间:2019-09-29 09:08:32

标签: xcode macos vulkan moltenvk

我正在通过MoltenVK包装器在OS X上为Vulkan设置开发环境。我使用Xcode IDE。

  1. 我从lunarG网站下载了VulkanSDK。
  2. 配置了包含项。

  3. libvulkan.1.1.121.dyliblibvulkan.1.dylib添加(复制)到项目中 ,然后将其添加到目标的构建阶段-> 链接二进制文件与库中。

示例代码为:

#include <vulkan/vulkan.h>
#include <GLFW/glfw3.h>
#include <stdlib.h>
#include <stdio.h>

VkInstance instance;
void createInstance() {
   VkApplicationInfo appInfo = {};
   appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
   appInfo.pApplicationName = "Hello Triangle";
   appInfo.applicationVersion = VK_MAKE_VERSION(1, 1, 0);
   appInfo.pEngineName = "No Engine";
   appInfo.engineVersion = VK_MAKE_VERSION(1, 1, 0);
   appInfo.apiVersion = VK_API_VERSION_1_1;

   VkInstanceCreateInfo createInfo = {};
   createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
   createInfo.pApplicationInfo = &appInfo;

   uint32_t glfwExtensionCount = 0;
   const char** glfwExtensions;
   glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount);

   createInfo.enabledExtensionCount = glfwExtensionCount;
   createInfo.ppEnabledExtensionNames = glfwExtensions;

   createInfo.enabledLayerCount = 0;

   if (vkCreateInstance(&createInfo, nullptr, &instance) != VK_SUCCESS)
   {
    printf("failed to create instance!");
   }
}


 int main(int argc, const char * argv[]) {
    createInstance();
    return 0;
 }

我没有收到链接器错误。

启动应用程序时,我会不断得到:

  

dyld:未加载库:@ rpath / libvulkan.1.dylib引用自:   /用户/ xxxxx /库/开发人员/ Xcode / DerivedData / VulkanApp-aybsxkpxiqbshfebkfpcwaoiuige /构建/产品/调试/ VulkanApp   原因:找不到图片

然后Xcode向我展示以下反汇编代码:

enter image description here

我的硬件设置为:

MacBook Pro。 macOS 10.14.6

两个GPU:

  1. Radeon Pro 555
  2. 英特尔高清显卡630

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我的解决方案是清除Xcode中的Subpath内容->目标->构建阶段->复制文件。enter image description here