2013-09-20 3 views
3

Я использую Xcode 5. У меня есть проект статической библиотеки OS X Framework/iOS со смешанными языковыми диалектами ObjC/C++, установленными на C11/C++ 11.Xcode 5.0 XCTest: двусмысленное расширение макроса «NULL»

Я добавил Набор для тестирования какао-блока, который использует XCTest, я создал его как для статической библиотеки iOS, так и для рамки OS X.

Это код, у меня есть, и я получаю ошибку в обоих:

-(void) testExample 
{ 
    NSObject* world = [NSObject new]; 

    world = nil; <--- Ambiguous expansion of macro 'NULL' 
} 

Запуск ОС IOS проверить компилятор говорит мне, что, используя определение NULL из stddef.h (строка 74, ((void*)0)) и другое определение находится в usr/include/stdlib.h (строка 115, __DARWIN_NULL).

Ошибка OS X не указывает на usr/include/MacTypes.h (строка 90, __DARWIN_NULL), на этот раз альтернатива находится в stddef.h (строка 74, ((void*)0)).

У Google нет ничего в этом вопросе. Я просто «Ну, я думаю, это просто на днях ...».

Любые подсказки относительно того, что может происходить здесь, и как его исправить?

UPDATE:

КСН тесты не работает были из-за создания модульного тестирования сверток IOS с OS X "Какао-Unit Testing Bundle"./me slap

Проблема с тестированием OS X сохраняется. Но у меня есть подозрение, что на OS X 10.9 (Mavericks) это может быть связано с отсутствующим 10.9 SDK (базовый SDK установлен в 10.8).

+0

У меня такая же проблема в '.m' файл, но предупреждение уйти после того, как изменения в' .mm' –

ответ

12

В настройках сборки для тестовой цели попробуйте установить «Включить модули» в положение «Нет».

У меня были различные проблемы с тестовыми целями, вокруг расширения препроцессора. Выполняю это для меня.

1

Попробуйте это: Добавить -Wno-ambiguous-macro в Xcode -> Build Settings -> Другие флаги C

Смежные вопросы