2009-10-29 1 views
26

Я создаю статическую библиотеку для Mac OS X для одного из наших клиентов, а также небольшое приложение командной строки для проверки статической библиотеки. Проект линии cmd имеет 2 дополнительных пути поиска библиотек, а это означает, что я связывался с версией Debug в режиме Release и просто сходил с ума, поэтому я попытался избавиться от этих двух путей, но я не мог найти, где они были указаны , Я искал информацию о проекте, но, оказывается, они были указаны в целевой информации.Xcode: настройки проекта по сравнению с целевыми настройками

Я не понимаю различия ?! Почему есть два набора настроек, которые по существу одинаковы ?! Может кто-нибудь, пожалуйста, просветит меня?

ответ

39

Проект может содержать несколько целей. Например, приложение, которое я пишу, имеет четыре: само приложение, плагин Quick Look, фреймворк и набор, содержащий функциональные возможности Mac OS 10.6, которые могут быть динамически загружены.

Настройки проекта применяются к каждой отдельной цели в проекте. Каждая целевая аудитория может затем переопределить индивидуальные настройки, если это необходимо - например, целевой SDK для моего проекта установлен в 10,5, но у пакета с 10,6 конкретным пакетом целевых SDK установлено значение 10.6.

В некоторых случаях некоторые настройки не имеют смысла в настройках проекта - один из них, я думаю, является поисковыми путями.

+0

Сводный вопрос: Как я должен включать статическую библиотеку в проект приложения линии cmd? Перетащив-n-drop в список исходных файлов? Или из настроек сборки? – vectorizor

+4

@iKenndac, можете ли вы объяснить, почему «некоторые настройки не имеют смысла быть в настройках проекта»? У меня есть только одна цель в каждом проекте, и я все еще запутался в настройке путей поиска. – topace

8

У вас часто есть несколько целей в одном проекте - например, у вас может быть проект фреймворка с целью создания в виде динамического пакета .framework и цели для создания статической библиотеки. Или у вашего приложения может быть цель для создания самого приложения, а также для создания некоторого вспомогательного инструмента командной строки, который требуется установить.

По возможности я предлагаю изменить настройки на самом высоком уровне (в настройках проекта и одновременно изменять настройки отладки &) и настраивать целевые настройки только при необходимости. Еще лучше, переместите как можно больше настроек в файлы xcconfig, которые кажутся намного более явным способом указания вашей сборки.