首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XCode对象标头找不到标准内存库

XCode对象标头找不到标准内存库
EN

Stack Overflow用户
提问于 2018-01-12 15:39:53
回答 1查看 2.3K关注 0票数 3

在我们的项目中,考虑到标准库内存的包含,我们遇到了一个问题。Objective-C头文件中的#include <memory>会导致错误'memory' file not found。头文件是为外部静态库导入的,当我们签出以前版本的库时,它已经工作过一次了。

在这个以前的版本中,同样的错误现在发生了,从那时起,我们对这个库的测试项目所做的唯一更改就是将XCode从以前的8.3更新到9.2版本。

有没有人在使用外部库和更新XCode时遇到了类似的问题,或者可能会给我一个提示,这是什么原因造成的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-12 15:46:34

memory是一个仅限C++使用的头文件。您只能将其包含到C++和Objective-C++文件中。您应该将文件后缀从.m更改为.mm,以将Objective-C文件更改为Objective-C++文件。

如果您希望将include放入Objective-C标头中,并将其包含到Objective-C和Objective-C++代码中,则应使用适当的#ifdef将include括起来,例如:

代码语言:javascript
运行
复制
#ifdef __cplusplus
#include <memory>
#endif

注意:您仍然只能在(Objective-)C++中使用来自<memory>的声明。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48221633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档