Проекты совместного использования рабочей области Xcode4 - PullRequest
3 голосов
/ 25 марта 2011

Я пытаюсь использовать новую функцию рабочего пространства Xcode4 для переноса некоторых проектов Xcode3, между которыми есть зависимости.У меня есть проект, который создает статическую библиотеку, а затем проект приложения, который зависит от статической библиотеки.Итак, как упоминалось в руководстве, я создал новое рабочее пространство и перетащил оба проекта в рабочее пространство.Однако, когда я создаю свое приложение, он не может найти файлы заголовков из моей статической библиотеки.Я получаю сообщение об ошибке «Нет такого файла или каталога».Я намерен позволить Xcode автоматически определять зависимости.Но, не уверен, что я делаю неправильно, я не мог заставить его работать.Любая помощь очень ценится.Там тоже не так много документации.

Ответы [ 3 ]

3 голосов
/ 25 марта 2011

После нескольких разочаровывающих часов я, возможно, нашел решение (все еще не уверен, что это правильный путь).

  1. Создано новое рабочее пространство
  2. Добавлен проект общей библиотеки
  3. Добавлен проект приложения ниже совместно используемой библиотеки (не внутри)
  4. Открытая фаза сборки совместно используемой библиотеки и убедитесь, что при копировании заголовков она группируется в общедоступную
  5. Открытые настройки сборки приложенияи в Пути поиска в заголовке, напечатанных в «BUILD_PRODUCTS_DIR» \ usr \ local \ include
  6. А в фазе сборки цели включена ссылка на статическую библиотеку (общая библиотека)

очистка и сборка, и все было успешно построено.

Тем не менее, я все еще не уверен, что это правильный путь, так как в соответствии с руководством Xcode4, никаких изменений в настройках не требуется, просто добавление проектов в рабочую область позаботитсяиз всего.Когда-нибудь я надеюсь найти правильное решение и использовать его.

Спасибо, Джавид

2 голосов
/ 05 августа 2011

Кажется, проблема связана с переменными среды XCode, сообщающими о неправильном местоположении.Например, $ (TARGET_BUILD_DIR) переводится в:

/ build / Debug /

.. но при использовании рабочих пространств в этот путь вставляется дополнительная папка:

/ build / products / Debug

.., который Xcode игнорирует или не может обработать.

2 голосов
/ 25 марта 2011

Есть по крайней мере несколько способов сделать это.

То, что я делаю, это задаю значение для параметра Построение пути поиска заголовка пользователя для главной цели, указываемой на путь к библиотеке. Просто введите «заголовок пользователя» в поле поиска редактора настроек сборки, и вы найдете его.

Если вы используете библиотеку, которую собираетесь использовать часто, лучше всего настроить для нее настройки дерева исходных текстов. Это в XCode Prefs -> Source Trees. Добавьте запись, укажите путь к источнику библиотеки и дайте ему разумное имя параметра, например. XXLIBRARY_SOURCE. Затем в пути поиска заголовка пользователя (или в любом другом параметре сборки, где вам нужен путь к библиотеке), вы можете использовать $ (XXLIBRARY_SOURCE) в качестве пути.

Более простая, но менее гибкая альтернатива - просто перетащить заголовки библиотеки в основной проект.

...