Как добавить глобальный путь включения для xcode - PullRequest
18 голосов
/ 14 апреля 2009

Я хотел бы добавить ~ / include к моему пути включения для всех проектов при использовании Xcode, что-то вроде установки переменной среды CPLUS_INCLUDE_PATH в Linux. (См. здесь для соответствующего вопроса Linux.)

Возможно ли это в Xcode? Я попытался установить вышеуказанную переменную среды, но она не работает. (И если это возможно, я хотел бы также установить связанные пути, такие как LIBRARY_PATH и LD_LIBRARY_PATH.)

Ответы [ 5 ]

15 голосов
/ 15 апреля 2009

Согласно Документам Apple , вы можете указать значение по умолчанию для любого параметра сборки, используя переменную среды .

В этом случае вы хотите установить HEADER_SEARCH_PATHS. По какой-то причине я не понимаю, это не работает. Он отлично работает для других настроек сборки (например, OTHER_CFLAGS), но не для HEADER_SEARCH_PATHS. Чтобы узнать, как называется переменная для любого параметра, откройте помощника по исследованиям в окне параметров сборки (кнопка «Книга» в левом нижнем углу.)

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

So

#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>

Надеюсь, это поможет.

1 голос
/ 14 апреля 2014

Для любого из вас благословенных дорогих , которые пытаются достичь этого или любого другого взлома ~/.MacOSX/environment.plist, или глобальных переменных среды в этом Мир пост-горных львов , посмотрите EnvPane - Панель настроек OS X для переменных среды

EnvPane - это панель настроек для Mac OS X 10.8 (Mountain Lion), которая позволяет вам устанавливать переменные среды для всех программ как в графическом, так и в терминальном сеансах. Он не только восстанавливает поддержку ~ / .MacOSX / environment.plist в Mountain Lion, но и немедленно публикует ваши изменения в среде без необходимости выхода и повторного входа. Это работает даже для изменений, внесенных путем ручного редактирования ~ / .MacOSX / environment.plist, а не только изменения, сделанные через панель настроек.

enter image description here

0 голосов
/ 12 марта 2010

Просто выберите файл .c или .m на вкладке «Группы и файлы» и выберите «получить информацию» через юаней затем в разделе «build» вы можете добавить дополнительные флаги компилятора, например -I, для дополнительного includepath поиска.

0 голосов
/ 15 апреля 2009

Настройки сборки не являются переменными среды, а переменные среды не являются настройками сборки. Установка переменной среды не повлияет на сборки Xcode.

USER_HEADER_SEARCH_PATHS - это настройка сборки, и добавление в нее списка путей даст то, что вы хотите. Если вы установите значение в инспекторе цели, оно вступит в силу только для этой цели (и только для выбранных вами конфигураций сборки). Если вы установите его в Инспекторе проектов, он вступит в силу во всех целях в проекте, если только цель не переопределит его своими собственными настройками.

Для путей, специфичных для вашей машины, вам, вероятно, следует определить дерево исходных текстов в настройках XCode, например LOCAL_INCLUDE = ~/include. Затем определите USER_HEADER_SEARCH_PATHS = $(LOCAL_INCLUDE) в проекте. Таким образом, другие люди могут открывать ваш проект и создавать его, устанавливая свое Исходное дерево в определенном месте локальных включений на своем компьютере, без необходимости изменять файл проекта.

0 голосов
/ 14 апреля 2009

Добавьте параметр сборки HEADER_SEARCH_PATHS в ваш проект XCode. Этот параметр принимает список путей, разделенных пробелами, и, если путь заканчивается двойной звездой (**), он будет рекурсивно искать подкаталоги. Поэтому, чтобы ответить за ваш пример, установите HEADER_SEARCH_PATHS в:

~/include

Если бы у вас было несколько путей для включения, вы бы установили для него что-то вроде:

~/include ~/my_other_includes/** /usr/local/special_frameworks/**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...