Biblioteki Xcode Mac OS X.

5

Zmęczony koniecznością zmiany ścieżek wyszukiwania nagłówków i bibliotek w każdym projekcie, aby móc łączyć biblioteki z homebrew w /usr/local/libi /usr/local/include.

Czy istnieje sposób, aby Xcode domyślnie rozpoznał te dwie ścieżki wyszukiwania? ldstwierdza, że ​​domyślnie używa tych ścieżek wyszukiwania, ale wygląda na to, że Xcode nie.

Czy jest też sposób na dodanie moich bibliotek /usr/local/libdo tego okna dialogowego bez konieczności wybierania opcji dodawania innych?

dodaj okno dialogowe biblioteki

Francisco Aguilera
źródło
Mogę pomóc z GCC, ale wydaje się, że najnowszy Xcode jest oparty na LLVM / Clang.
Dmitrij Grigoriew
@DmitryGrigoryev Cóż, Xcode pozwala ci zdecydować, czy skompilować w trybie GNU (GCC) czy w trybie CLANG w ustawieniach projektu, ale to nie ma znaczenia dla mojego pytania, ponieważ moje pytanie dotyczy samej zmiany ustawień Xcode. Jako wskazówka dla innych osób posiadających większą wiedzę w tej dziedzinie, istnieje prawdopodobnie sposób, aby to zrobić, edytując niektóre pliki Xcode, a może plik plist? Niepewny.
Francisco Aguilera,

Odpowiedzi:

3

Jeśli chcesz dodać domyślne ścieżki włączania i wyszukiwania, które są trwałe we wszystkich projektach, musisz użyć:

Aby uwzględnić ścieżki:

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH

A dla ścieżek bibliotecznych:

LIBRARY_PATH

Aby Xcode i inne aplikacje GUI w OS X (testowane 10.10) miały dostęp do tych zmiennych środowiskowych, musisz ustawić zmienne, używając:

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

Ale to nie są trwałe. Aby mieć te zmienne między restartami, musisz utworzyć skrypt startowy. Zobacz tę stronę jako przykład.

To jest mój osobisty plik AppleScript, który zapisałem jako aplikację w iCloud (aby przetrwała formatowanie) i ustawiłem jako element startowy w preferencjach systemowych-> użytkownicy i grupy-> elementy logowania.

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

Jeśli chodzi o dodanie ich do okna dialogowego, znalazłem dwa sposoby:

  1. Szybki i brudny sposób: sudo ln -s /usr/local/lib/ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib

    Spowoduje to dodanie wszystkich plików lib z / usr / local / lib do okna dialogowego w tym samym „folderze” OS X 10.10 w oknie dialogowym.

  2. Drugi sposób polega na utworzeniu własnego katalogu .sdk z podkatalogiem usr /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs, a następnie skopiowaniu SDKSettings.plist z /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/SDKSettings.plist katalogu do .sdk, edycji go za pomocą Xcode i dowiązaniu symbolicznym / usr / local / bin, / usr / local / dołącz / usr / local / lib do katalogu mydir.sdk / usr /.

Francisco Aguilera
źródło
1

Czy istnieje sposób, aby Xcode domyślnie rozpoznał te dwie ścieżki wyszukiwania?

„Czy możesz mi powiedzieć, jak dodać ścieżkę dołączania i ścieżkę biblioteki w projekcie XCode?”

Szukasz „Ścieżki wyszukiwania nagłówka” i „Ścieżek wyszukiwania biblioteki”.

Użyj wygodnego pola wyszukiwania u góry, aby je znaleźć.

Upewnij się również, że wyskakujące okienko „Pokaż” jest ustawione na „Wszystkie ustawienia”.

Jeśli jest ustawiona na jedną z pozostałych wartości, niekoniecznie zobaczysz szukane ustawienie.

wprowadź opis zdjęcia tutaj

Źródło Jak dodać ścieżkę dołączania i ścieżkę biblioteki w projekcie XCode


Dalsza lektura

DavidPostill
źródło
Moje pytanie dotyczy ustawienia domyślnych ścieżek wyszukiwania (które są zawsze wyszukiwane niezależnie od ustawień poszczególnych projektów). Zobacz moje pytanie i odpowiedz poniżej, aby znaleźć rozwiązanie.
Francisco Aguilera,