SDL2 не является основой. Скорее это либо статическая, либо динамическая библиотека. Если, конечно, вы не используете какой-то другой пользовательский каркас для SDL2.
Есть два сценария, с которыми вы обычно сталкиваетесь:
- SDL2, установленный в расположении по умолчанию, например / usr / local
- SDL2 установлен в пользовательском месте (как я это делаю)
Я предполагаю, что вы делаете первое. Если это так, то возможно, что с Xcode 11 путь поиска системного заголовка по умолчанию каким-то образом изменился и не включает / usr / local (или где вы его установили).
Чтобы это исправить, вы должны сначала найти свою библиотеку SDL2. В частности, для файлов включения.
Затем в Настройках сборки перейдите к разделу Пути поиска: Пути поиска по заголовкам системы и введите этот путь в.

Имейте в виду, что #include
использует SDL2
как часть пути, поэтому вы не хотите помещать часть SDL2
в путь. Вот пример моей структуры каталогов. Так что мой путь записи для этого $(PROJECT_DIR)/3rdParty/SDL2/include
. Вы можете видеть в моем каталоге проектов, у меня есть каталог 3rdParty, который я использую для хранения сторонних библиотек, которые я интегрирую в проект.

Выдля включения используются угловые скобки, в которых используется системный путь.
Обратите внимание, что вам также может потребоваться обновить способ связи с SDL2 (т. е. он не сможет его найти).