Dobrze, oto, co próbowałem.Dwa cele, dwa pliki nagłówkowe o tej samej nazwie, jak używać każdego nagłówka dla właściwego celu?
Mam pliki nagłówkowe w dwóch oddzielnych katalogach IRL. Są nazywane tak samo, ale są w dwóch różnych miejscach.
Chcę dołączyć tylko odpowiedni plik nagłówkowy dla każdego celu. Powiedzmy dla łatwości wyjaśnienia, że plik nagłówkowy nazywa się "Config.h".
Więc mam:
$ {PRODUCT_DIR} /Header1/Config.h
i
$ {PRODUCT_DIR} /Header2/Config.h
Pliki te pojawiają się w LHS z Xcode również w dwóch różnych grupach (Heade r1 i Header2, które wskazują foldery IRL).
Teraz wszystko, co muszę zrobić, to uczynić Xcode wybrać właściwy z prawego folderu dla każdego celu.
cel 1
i
Target2
Próbowałem dodać ścieżkę do User Header Search Paths
dla każdego celu, ale jego wciąż wybiera niewłaściwy. Próbowałem też przełączać "Zawsze wyszukuj ścieżki użytkowników", co również nie ma żadnego efektu.
Moje pytanie brzmi: czy to dlatego, że znajdują się w katalogu projektu? A może dlatego, że są w Xcode w menedżerze plików na LHS, więc Xcode kopiuje je do folderu kompilacji?
Najdziwniejsze jest to, że wydaje się być wybór pliki nagłówkowe z folderu z nazwiskiem alfabetycznie ...
W poprzednich wersjach Xcode jestem pewien, że można wybrać, które nagłówki skopiować do kompilacji teczka.
W każdym razie ... czy ktoś wie, jak mogę to naprawić, aby móc wybrać odpowiedni plik nagłówkowy dla celu?
Wielkie dzięki.
Nie jestem pewien, ale co z warunkowym importem? –
To jest plan awaryjny. :) Ale doda obciążenie więcej kroków niż w ten sposób. Jestem pewien, że to powinno być możliwe. –
1. Właściwie nie rozumiem, dlaczego masz problemy z "Ścieżkami wyszukiwania nagłówków". Spróbuj wykluczyć te nagłówki z projektu i nie używaj "**" rekursywnych ścieżek wyszukiwania. 2. Zwykle używam innego "include" z "ifdef else". Możesz więc dodać dowolną zmienną globalną do dowolnego celu i sprawdzić, co musisz uwzględnić (np. "Ifdef target1 #include" header1.h "else #include" header2.h "endif;). Tak więc zależy to od twoich wymagań. – Jlexyc