(StackOverflow可能有我的答案的其他问题似乎没有帮助我解决我的问题。)
我的客户的营销人员希望我的产品支持Mac OS X 10.11(El Capitan)。这似乎是一个合理的要求;但它给了我一些麻烦。
我实际上正在使用Xcode 7.3.1 ;如果我理解正确,这是支持El Capitan的最后一个版本。
我在Sierra和High Sierra上也遇到了一些麻烦,所以我在 El Capitan 上为 El Capitan建造。
麻烦的代码在C中;它是CCAN's list's <ccan/list/str.h>
中的原型:
size_t strcount(const char *haystack, const char *needle);
首先,编译器找不到<stddef.h>
所以我添加了系统头的绝对路径。现在一个特定的源文件 - 在以后的Xcode版本中运行得很好 - 给我“Unknown type name'size_t'”
我将<stddef.h>
添加到该C文件中,但它没有帮助。未搜索与平台相关的包含文件,因为未定义以下两个预处理程序符号。仅仅因为一切都是爱,战争和调试我定义了它们:
// Todo: This is an awful hack
// I'm trying this because Xcode 7.3.1 seems to think that size_t is undefined.
#define __STDC_WANT_LIB_EXT1__ 1
#define __STDC_WANT_LIB_EXT1__
#include <stddef.h> // MDC El Capitan branch
这得到了同样的未知类型投诉。
此时,我想我应该寻求帮助。你有什么见解吗?