Создание библиотеки модулей на основе Metal.framework, металлический шейдер сообщает об ошибке: metal_stdlib не найден - PullRequest
0 голосов
/ 01 марта 2019

Я хочу создать библиотеку pod на основе Metal.framework.В моих файлах .metal они включают заголовок .h: #include "ShaderDataTypes.h".Тогда возникает проблема, когда я *** pod lib lint *, он сообщает об ошибке ниже:

- ERROR | [iOS] xcodebuild: ShaderDataTypes.h error: 'metal_stdlib' file not found

Вот мой пример проекта: https://github.com/MrEndlesswhy/DeviceOnlyMetalPod

НадеюсьГений в стеке потока помогает мне решить эту проблему.Я провел несколько дней, но все еще не смог решить.

Большое спасибо!

Я нашел душу

В ShaderDataTypes.h, добавьте ниже код:

#if __METAL_MACOS__ || __METAL_IOS__

#include <metal_stdlib>

using namespace metal;

#endif /* __METAL_MACOS__ || __METAL_IOS__ */

Все, что связано с Metal в ваших файлах .h шейдера, вы должны использовать этот macos.

...