5

Надоело менять заголовки и пути поиска библиотек в каждом проекте, чтобы иметь возможность связывать библиотеки из homebrew в /usr/local/lib и /usr/local/include .

Есть ли способ заставить Xcode распознавать эти два пути поиска по умолчанию? ld заявляет, что использует эти пути поиска по умолчанию, но, похоже, Xcode не использует.

Кроме того, есть ли способ добавить мои библиотеки из /usr/local/lib в этот диалог, не выбирая добавить другие?

диалог добавления библиотеки

2 ответа2

3

Если вы хотите добавить пути включения и поиска по умолчанию, которые сохраняются во всех проектах, вам необходимо использовать:

Для включаемых путей:

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH

И для путей к библиотекам:

LIBRARY_PATH

Чтобы Xcode и другие приложения с графическим интерфейсом в OS X (протестированные на 10.10) имели доступ к этим переменным среды, вам нужно установить переменные, используя:

/bin/launchctl setenv LIBRARY_PATH /usr/local/lib
/bin/launchctl setenv CPATH /usr/local/include

Но они не постоянны. Чтобы эти переменные перезагружались, вам нужно создать сценарий запуска. Смотрите эту страницу для примера.

Это мой личный яблочный файл, который я сохранил как приложение в iCloud (чтобы он сохранился после переформатирования) и установил его в качестве элемента запуска в системных настройках-> пользователи и группы-> элементы входа в систему.

set ENV_LIBRARY_PATH to "/bin/launchctl setenv LIBRARY_PATH /usr/local/lib;"
set ENV_CPATH to "/bin/launchctl setenv CPATH /usr/local/include;"
do shell script ENV_LIBRARY_PATH & ENV_CPATH

Что касается добавления их в диалог, есть два способа, которые я нашел:

  1. Быстрый и грязный способ: sudo ln -s /usr/local/lib/ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib

    Это добавит все ваши файлы lib из / usr / local / lib в диалог в той же "папке" OS X 10.10 в диалоге.

  2. Второй способ заключается в создании собственного каталога .sdk с подкаталогом usr в /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs , затем копированием списка SDKSettings.plist из /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/SDKSettings.plist в каталог .sdk, отредактировать его с помощью Xcode и создать ссылку на ваш / usr / local / bin, / usr / local / включите / usr / local / lib в ваш mydir.sdk / usr / каталог.

1

Есть ли способ заставить Xcode распознавать эти два пути поиска по умолчанию?

"Не могли бы вы рассказать мне, как добавить путь включения и путь к библиотеке в проекте XCode?"

Вы ищете "Путь поиска в заголовке" и "Пути поиска в библиотеке".

Используйте удобное поле поиска вверху, чтобы найти их.

Также убедитесь, что для всплывающего окна "Показать" установлено значение "Все настройки".

Если для него установлено одно из других значений, вы не обязательно увидите нужный вам параметр.

Исходный код Как добавить путь включения и путь к библиотеке в проекте XCode


дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .