Я только что обновился до Xcode версии 10.0 (10A255), и мой проект перестал работать, потому что не может найти gst.h.
У меня gst_ios_init.h включен в заголовок моста и #include <gst/gst.h>
в нем. После обновления Xcode проект больше не будет компилироваться с ошибкой:
'gst/gst.h' file not found.
Раньше это работало, теперь внезапно выходит из строя.
У меня есть фреймворк, а также поиск по фреймворку и поиск по заголовку.
Сегодня я запустил свое приложение с XCode версии 10.1 (10B61) благодаря это и это.
Что я сделал:
На всякий случай я удалил предыдущую установку GStreamer (папка /Library/Developer/GStreamer
). Также удалил фреймворк GStreamer из моего проекта. (Щелкните правой кнопкой мыши Frameworks/GStreamer.framework
-> Delete
-> Remove reference
)
Установил GStreamer 1.14.4. Вы можете получить его отсюда: https://gstreamer.freedesktop.org/data/pkg/ios/1.14.4/
Возьмите GStreamer.framework
из /Library/Developer/GStreamer/iPhone.sdk
и снова поместите его в папку Frameworks
проекта. Вариант Copy files if necessary
не проверял.
Пути поиска в моей TARGET изменены на:
Путь поиска фреймворка:
"$(HOME)/Library/Developer/GStreamer/iPhone.sdk"
Путь поиска заголовка:"$(HOME)/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers"
Вот и все. Сборка в первый раз занимает много времени, но она работает.
Другой вариант, который сработал, заключался в замене File->Workspace Settings->Build system
на Legacy Build System
, но, выполнив описанные выше шаги, я могу использовать New Build system
.
Обновление: только что установил Xcode Version 10.2 beta 3 (10P99q) и теперь работает, даже в архиве.
Для меня все, что мне нужно было сделать, это заменить ~ на $ (HOME) в путях поиска. Xcode сломался ~ по какой-то нечестивой причине.
Обновление: с Xcode Version 10.2 beta 3 (10P99q) теперь работает даже архив.
Я думаю, что это известная проблема. Все включаемые файлы GStreamer включают свои файлы с "include.h" и / или <include.h>, и один из них предназначен для системных библиотек, а другой - для частных. С XCode 10 это серьезная ошибка, и GStreamer больше не работает. Но у меня нет простого решения. Но по крайней мере вы знаете, где смотреть.