【问题标题】:# include <cstddef> file not found in xcode# 包含在 xcode 中找不到的 <cstddef> 文件
【发布时间】:2013-08-21 13:09:09
【问题描述】:

您好,我正在使用此 library 来实现注释,但在下图中遇到了一个问题 我检查了用户标题路径和库搜索路径和 也试试这个链接:

size_t on XCode

Xcode cannot find cstddef

请帮帮我

【问题讨论】:

  • 这是一个 C++ 标头,但您还没有使用 Objective-C++ 标记您的问题,这敲响了一些警钟...
  • @trojanfoe 我看到这个问题在不久的将来会被标记为xcode++...
  • @trojanfoe 对不起我的错误,但解决了我的问题
  • 嗯?您的意思是“是的,我现在已经开始使用 Objective-C++ 并且这解决了我的问题,谢谢”还是您的意思是“是的,无论如何,已经解决了我的问题”?
  • 好吧,好吧。您引用的那个 URL 是一个示例项目,其中所有文件都是 .m,除了一个是 .mm。你认为这重要吗?

标签: c++ iphone ios


【解决方案1】:

我认为原因是包含该库的头文件的实现文件需要是 Objective-C++。

通过将其从 .m 重命名为 .mm 可以轻松解决此问题。

如果您不愿意让整个应用程序成为 Objective-C++,那么也有必要避免将库暴露给项目的其余部分,我相信您引用的示例项目会这样做,因为所有实现文件都是 Objective-C 分开的来自Objective-C++。

这样做并非易事。

【讨论】:

  • 重命名后出现错误终止称为抛出异常(lldb)
  • @kirtimali 我知道发布答案是错误的。
  • 发布的错误已解决,谢谢,出现过多错误后
  • @trojanfoe 感谢您的回答。我花了很多时间来弄清楚我的框架是什么...:D
  • @LarsNielsen 我应该在回答中提到 OP 问题中的 #if defined 行是错误的。它正在尝试确定它是否被编译成 C++ 代码,因此最好在 #if 中使用 __cplusplus 或始终使用 #include &lt;stddef.h&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-28
  • 2021-09-06
  • 2014-12-21
  • 2018-06-04
  • 1970-01-01
  • 2021-05-19
  • 1970-01-01
相关资源
最近更新 更多