3

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

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

  3. 添加(复制)libvulkan.1.1.121.dyliblibvulkan.1.dylib项目中,然后将它们添加到Build Phases -> Link Binary With Libraries of the target。

示例代码是:

#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 引用自:/Users/xxxxx/Library/Developer/Xcode/DerivedData/VulkanApp-aybsxkpxiqbshfebkfpcwaoiuige/Build/Products/Debug/VulkanApp 原因:找不到图像

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

在此处输入图像描述

我的硬件设置是:

MacBook Pro。macOS 10.14.6

两个 GPU:

  1. Radeon Pro 555
  2. 英特尔核芯显卡 630
4

1 回答 1

0

我遇到了同样的问题,我的解决方案是清除 Xcode -> Targets -> Build Phases -> Copy files 中的 Subpath 的内容。在此处输入图像描述

于 2020-02-09T16:16:38.117 回答