Я включил SpatialIite
в проект XCode, который использует заголовочный файл Proj.4
, только один заголовок. Оба проекта Xcode и имеют статические цели.
Я пытаюсь перейти с подмодуля git на Cocoapods. Поскольку кажется, что статические цели сложно использовать с Cocoapods, я просто хочу, чтобы проект был построен обычным способом. Я сделал подспец для Proj.4
. После написания подфайла SpatialLite
я получил предупреждения:
[!] The target `SpatialiteIOS [Debug]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
Я читаю эту проблему, но совершенно не понимаю, что означают предупреждения и что я могу сделать, чтобы это исправить.
Кроме того, проблема, когда я открываю рабочее пространство, а также открываю проект SpatiaLite в одиночку, оба ориентированы на Mac OSX 64, когда предполагается, что это проект iOS. Мой подфайл действительно говорит "платформа: IOS".
Ответы:
Это определенно работает большую часть времени:
Перейдите к своей цели Настройки сборки -> Другие флаги компоновщика -> двойной щелчок. Добавить
$(inherited)
в новую строку.Если у вас есть проблема с "... target переопределяет параметр сборки GCC_PREPROCESSOR_DEFINITIONS, определенный в ...", тогда вы должны добавить $ (унаследованный) к вашим параметрам настройки сборки -> Макросы препроцессора
источник
GCC_PREPROCESSOR_DEFINITIONS
сборки, определенный в ...", то вы должны добавить $ (унаследованный) к вашей цели. Параметры сборки -> Макросы препроцессора$(inherited)
уже в верхней строке, но у меня это не работает: /Существует конфликт между вашими настройками сборки и настройками сборки по умолчанию, которые хочет Cocoapods. Чтобы увидеть настройки сборки Cocoapods, просмотрите файл (ы) .xcconfig в Pods / Target Support Files / Pods - $ {PROJECTNAME} / в своем проекте. Для меня этот файл содержит:
Если вы довольны настройками Cocoapods, перейдите в Build Settings для вашего проекта, найдите соответствующую настройку и нажмите клавишу Delete. Это будет использовать настройку Cocoapods.
С другой стороны, если у вас есть пользовательский параметр, который вам нужно использовать, добавьте $ (наследуемый) к этому параметру.
источник
Я видел эти 3 ошибки для команды pod в терминале
Все эти 3 ошибки исчезли бы, добавив $ (наследуется) к
в проекте -> Цель -> Настройки сборки
И теперь команда будет работать без каких-либо ошибок
источник
Other Linker Flags
было недостаточно.В своем проекте найдите
Target -> Build Settings -> Other Linker Flags
, выберитеOther Linker Flags
, нажмитеdelete
(клавиатура Mac) /Backspace
(обычная клавиатура), чтобы восстановить настройку. Меня устраивает.Пример:
Перед
После
источник
Просто у меня была похожая проблема, когда я бежал
pod install
, я видел следующие предупреждения / ошибки (связанные сCLANG_CXX_LIBRARY
):Ошибка / Предупреждение от Cocoapods
Исправление
Project
чтобы вы могли видетьBuild Settings
.Target
(AppName
подTargets
)C++ Standard Library
(вероятно, оно будет выделено жирным шрифтом - это означает, что оно переопределено).Линия больше не должна быть выделена жирным шрифтом, и если вы запустите,
pod install
предупреждения / ошибки должны исчезнуть.Наглядное пособие
источник
Если Xcode жалуется при связывании, например, Библиотека не найдена для -lPods, он не обнаруживает неявные зависимости:
Перейдите в Product> Edit Scheme. Нажмите на Build. Добавьте статическую библиотеку Pods. Очистите и соберите снова.
источник
Для меня проблема была с моими целями испытаний. У меня уже был
$(inherited)
флаг в моей главной цели приложения.Я добавил его в флажки MyAppTests Other Linker. После этого при запуске
pod install
предупреждение исчезло.источник
Первая строка ссылки ниже спасла мой день:
https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods#faq
Кроме того, не забудьте вставить эту строку в начале вашего файла pod:
источник
Я добавил $ (наследуется), но мой проект все еще не компилировался. Для меня проблемой был флаг «Сборка только для активной архитектуры», мне пришлось установить его на ДА.
источник