Xcode 5.0 XCTest: неоднозначное расширение макроса «NULL»

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

Я добавил цель Cocoa Unit Testing Bundle, которая использует 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 нет ничего по этому вопросу. Я такой: "Ну, я думаю, это только один из этих дней...".

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

ОБНОВЛЕНИЕ:

Тесты iOS не выполнялись из-за создания пакета модульных тестов iOS с пакетом модульного тестирования OS X «Cocoa Unit Testing Bundle». /мне шлепнуть

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


person LearnCocos2D    schedule 20.09.2013    source источник
comment
У меня такая же проблема в файле .m, но предупреждение исчезает после изменений в .mm   -  person Bryan Chen    schedule 27.09.2013


Ответы (2)


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

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

person Jon Reid    schedule 23.09.2013

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

person hewigovens    schedule 24.05.2016