2015-10-21 1 views
0

У меня есть строка константа, указанная ниже. Это компиляторы кода в обычном приложении для отладки и выпуска. Но в целевой тестовой программе приложения (Ctrl + U), я получил ошибку, которая неожиданно «@» в программе в тестовой цели. Использование xcode 7.неожиданный '@' в программе в целевом объекте

Модули включены, как указано в this question.

HeaderA.h

#define URL_A "http://www.example.com/service" 

HeaderB.h

#define URL_AC   @URL_A 

Got здесь ошибка, неожиданный '@' в программе. Расширяется от макроса @URL_AC

Модули включены, как указано в this question.

enter image description here

Используется в файле .m как,

NSURL * url = [NSURL URLWithString:URL_AC]; 

Даже декларация

#define URL_AC  @"https://www.example.com/service?format=json" 

получил 'Использование необъявленный идентификатор URL_AC' ошибки компилятора.

+0

Просьба указать, как используется 'URL_AC'. – trojanfoe

+0

обновлен в вопросе. – karim

+0

Итак, у вас есть две ошибки? – trojanfoe

ответ

0

Я нашел проблему. В «define» есть некоторые макросы #ifdef. И это контролируется с использованием preprocessor declaration в build settings. В моей тестовой цели она не была определена. Когда я определил его, компилятор получит «define», и все ошибки исчезли.

#if defined(TEST0) 
#define URL0 "http://www.example.com" 

#elif defined(TEST1) 
#define URL1 "http://www.example2.com" 

#endif