gpt4 book ai didi

objective-c - Xcode 5.0 XC 测试 : ambiguous expansion of macro 'NULL'

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:00 29 4
gpt4 key购买 nike

我正在使用 Xcode 5。我有一个 OS X Framework/iOS 静态库项目,其中包含混合的 ObjC/C++ 代码和语言方言设置为 C11/C++11。

我添加了一个使用 XCTest 的 Cocoa 单元测试包 目标,我为 iOS 静态库和 OS X 框架创建了一个目标。

这是我的代码和我在两者中遇到的错误:

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

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

运行 iOS 测试时,编译器告诉我它正在使用 stddef.h 中的 NULL 定义(第 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 测试未运行是由于使用 OS X“Cocoa 单元测试包”创建了 iOS 单元测试包。/我一巴掌

但 OS X 测试问题仍然存在。但我有一种预感,在 OS X 10.9 (Mavericks) 上,这可能与缺少 10.9 SDK(Base SDK 设置为 10.8)有关。

最佳答案

在测试目标的build设置中,尝试将“启用模块”设置为否。

我在测试目标方面遇到了各种各样的麻烦,围绕着预处理器扩展。为我做这些固定的事情。

关于objective-c - Xcode 5.0 XC 测试 : ambiguous expansion of macro 'NULL' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921081/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com