Как добавить глобальный путь включения для xcode
Я хотел бы добавить ~/include к моему пути включения для всех проектов при использовании Xcode, что-то вроде установки переменной окружения CPLUS_INCLUDE_PATH
в линуксе (Смотрите здесь для соответствующего вопроса Linux.)
Это возможно в Xcode? Я попытался установить вышеуказанную переменную среды, но она не работает. (И если это возможно, я хотел бы также установить связанные пути, такие как LIBRARY_PATH и LD_LIBRARY_PATH.)
5 ответов
Согласно Документам Apple, вы можете указать значение по умолчанию для любого параметра сборки, используя переменную окружения.
В этом случае вы хотите установить HEADER_SEARCH_PATHS
, По какой-то причине я не понимаю, это не работает. Он отлично работает для других настроек сборки (например, OTHER_CFLAGS), но не для HEADER_SEARCH_PATHS
, Вы можете увидеть, как называется переменная для любого параметра, открыв помощника по исследованиям в окне параметров сборки (кнопка "Книга" в левом нижнем углу).
Один вар, который работает USER_HEADER_SEARCH_PATHS
, который так же, как вы хотите, но работает только для путей в двойных кавычках (не в угловых скобках.)
Так
#include "bar.h"
будет работать, но
#include <bar.h>
не будет.
Список параметров сборки, указанный в приведенной выше статье о переменных среды, должен выглядеть примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>USER_HEADER_SEARCH_PATHS</key>
<string>~/test</string>
</dict>
</plist>
Надеюсь, это поможет.
Для любого из вас, благословенные дорогие, которые пытаются достичь этого, или любой другой взломать ~/.MacOSX/environment.plist
, также известные как глобальные переменные среды в мире пост-Mountain-Lion, посмотрите EnvPane - панель настроек OS X для переменных среды
EnvPane - это панель настроек для Mac OS X 10.8 (Mountain Lion), которая позволяет вам устанавливать переменные среды для всех программ как в графическом, так и в терминальном сеансах. Он не только восстанавливает поддержку ~/.MacOSX/environment.plist в Mountain Lion, но и немедленно публикует ваши изменения в среде без необходимости выхода и повторного входа. Это работает даже для изменений, внесенных путем ручного редактирования ~/.MacOSX/environment.plist, а не только изменения, сделанные через панель настроек.
Просто выберите файл.c или.m на вкладке "Группы и файлы" и выберите "получить информацию" через RMB, а затем в разделе "build" вы можете добавить дополнительные флаги компилятора, например -I, для дополнительного includepath поиска.
Добавить HEADER_SEARCH_PATHS
создать настройки для вашего проекта XCode. Этот параметр принимает список путей, разделенных пробелами, и если путь заканчивается двойной звездой (**
), он будет искать подкаталоги рекурсивно. Чтобы ответить за ваш пример, установите HEADER_SEARCH_PATHS
чтобы:
~/include
Если бы у вас было несколько путей для включения, вы бы установили для него что-то вроде:
~/include ~/my_other_includes/** /usr/local/special_frameworks/**
Настройки сборки не являются переменными среды, а переменные среды не являются настройками сборки. Установка переменной среды не повлияет на сборки Xcode.
USER_HEADER_SEARCH_PATHS
это настройка сборки, и добавление в нее списка путей даст то, что вы хотите. Если вы установите значение в инспекторе цели, оно вступит в силу только для этой цели (и только для выбранных вами конфигураций сборки). Если вы установите его в Инспекторе проектов, он вступит в силу во всех целях в проекте, если только цель не переопределит его своими собственными настройками.
Для путей, которые являются определенными для вашей машины, вы, вероятно, должны определить исходное дерево в настройках XCode, например: LOCAL_INCLUDE = ~/include
, Затем определите USER_HEADER_SEARCH_PATHS = $(LOCAL_INCLUDE)
в проекте. Таким образом, другие люди могут открывать ваш проект и создавать его, устанавливая свое Исходное дерево в определенном месте локальных включений на своем компьютере, без необходимости изменять файл проекта.