首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xcode项目#包含<cmath>

Xcode项目#包含<cmath>
EN

Stack Overflow用户
提问于 2012-05-13 06:21:59
回答 2查看 5.5K关注 0票数 1

我正在尝试使用已经在另一个独立项目中正常工作的代码。

当我将这段代码带到我的另一个最终项目中时,它表明没有找到'cmath‘文件。

带有#include的文件在一个.hpp文件中(它只是为opengl定义了一些结构),所以没有对应的.mm文件。(这是C++代码,我主要是一个objective-c用户,所以对c++的所有东西都不太了解),但这是用在opengl上的,运行得很好,我们不参与这个项目。

我已经想尽一切办法让这件事成功了。

有问题的最后一个项目有其他使用#include而没有问题的代码。这几乎就像是有什么东西导致xcode不再识别头部的路径。我检查了它的文件类型,它是"Default C++ header“

在最后一个项目中,我使用了Zxing,也使用了CorePlots。不确定它们是否会导致任何问题。此外,一些文件正在使用#include,不确定这是否会与#incude冲突。(但同样,带有#include的其他文件工作正常。

任何帮助都将不胜感激……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-13 06:40:45

或者,对于Jon Reid的好建议,您可以在构建设置中选择“编译为Objective-C++”。(在Build Settings窗口中搜索"Compile sources“。)这有点夸张,但可以快速查看问题是不是C++源代码编译成了C或Objective-C

票数 5
EN

Stack Overflow用户

发布于 2012-05-13 06:36:20

您的头文件本身并不存在;必须有什么东西导入它。重命名导入文件,将其文件类型从.m更改为.mm。

例如,假设包含的头文件名为foo.h。并由bar模块使用,该模块由bar.h和bar.m组成。因此foo.h被导入到bar.h或bar.m中。

将bar.m重命名为bar.mm,以便使用C++。对所有依赖于foo.h的.m文件执行相同的操作。

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

https://stackoverflow.com/questions/10567843

复制
相关文章

相似问题

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