/ / Kompilator JIT Xcode ignoruje niektóre makra preprocesora - obiekt-c

Kompilator JIT Xcode ignoruje niektóre makra preprocesora - cel-c

Ten problem doprowadza mnie do szaleństwa i prawie na pewno wiąże się z jakimś błędem w Xcode, ale może jest jakiś sposób obejścia, którego nie znam albo coś, co mogłem przeoczyć. Oto jest:

Mamy kilka celów kompilacji dla różnychpodprojekty, które generują oddzielne pliki wykonywalne z częściowo nakładającym się kodem. Aby wykluczyć niektóre bity kodu, które nie powinny się znaleźć w jednej lub drugiej aplikacji, definiujemy liczbę #define makra w odpowiednich plikach .pch dla każdego podprojektu, np. w main-app.pch

#ifndef MY_APP
#define MY_APP 1
#endif

i w sub-app.pch

#ifndef SUB_APP
#define SUB_APP 1
#endif

Następnie, w jakimś kodzie, zobaczysz

- (void)doSomething
{
#ifdef MY_APP
NSLog(@"This is just an example");
#endif
}

Problem polega na tym, że czasami Xcode, tj. Tylko na trochę maszyny, nie robi podświetlania składni ani koduzakończenie warunkowo skompilowanego kodu. Oznacza to, że dla mojego współpracownika działa idealnie dobrze, natomiast nigdy nie widzę podświetlania składni, bez względu na to, co robię. Dla zapisu, wszyscy jesteśmy na Xcode 4.5.2 Próbowałem usuwać dane pochodne i ponownie indeksować, tasować kolejność celów / schematów, a także umieszczać makra preprocesorów w projekcie iw ustawieniach celu zamiast w plik .pch, ale nic nie pomaga. Czy ktoś ma pojęcie, co się tutaj dzieje?

Odpowiedzi:

0 dla odpowiedzi № 1

Po spędzeniu większość dnia na tym denerwująceproblem, znalazłem "rodzaj" rozwiązania: używaj obszarów roboczych Xcode zamiast podprojektów dla niezależnych plików wykonywalnych, które należą do tego samego pakietu aplikacji. Zamiast tworzyć zależności budowania, dodaję dodatkowe cele w części "Kompilacja" bieżącego schematu (Produkt->Edytuj schemat ...).