У меня есть кроссплатформенный инструмент командной строки, который я могу успешно встроить в Xcode для работы в macOS.
В macOS этот CLT связан с dylib
, который использует Metal под крышками.Сам CLT не знает о Metal.
Я могу собрать и успешно запустить этот CLT, используя схему XCode, но если я тогда попытаюсь запустить собранный CLT непосредственно из командной строки в терминале,Я получаю следующую ошибку, когда связанный dylib
пытается скомпилировать металлический шейдер для его внутреннего использования:
compiler service could not be reached
Есть идеи, почему это происходит?Почему он должен работать по-другому с терминала, чем из XCode?При запуске из терминала, возможно, он не связывается с необходимой структурой Metal во время выполнения?И если да, то как это можно исправить?