iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在iPhone/iPad项目中#import C头文件时出现问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个C类,我想在iPhone / iPad项目中使用. 我以不同的方式创建了这个文件(比如“New File”=> C),错误总是一样的. 当我编译项目时没有任何#import(.h C类),没关系. 但是只要我在我的一个标题objective-c文件中#import头文件,我就会得到如下错误: error: vector: No such file or directory 要么 error
我有一个C类,我想在iPhone / iPad项目中使用.
我以不同的方式创建了这个文件(比如“New File”=> C),错误总是一样的.

当我编译项目时没有任何#import(.h C类),没关系.

但是只要我在我的一个标题objective-c文件中#import头文件,我就会得到如下错误

要么

我尝试在文件信息中为文件类型(C类)设置不同的值,在.mm等中重命名我的objc类,但它似乎不起作用.

所以我一定错过了在objc头文件导入.h c类的内容,但是:p ^^

解决方案感谢Vlad
1°)要包含标题c文件

#ifdef __cplusplus
    #include "Triangulate.h"
#endif

2°)重命名.mm中的objc文件和他的文件信息(右侧cliC)设置文件类型为sourcecode.cpp.objcpp

谢谢你的帮助!
文森特

解决方法

尝试在驻留在扩展名为.m的文件中的Objective-C代码中使用C是问题的最可能原因,因为编译器根据错误消息不能识别C构造.将.m文件重命名为.mm应该会有所帮助.

有关更多详细信息,请参阅Using C++ with Objective-C.

假设您想在Objective-C源文件中使用Objective-C类,则完没有问题.唯一的限制是你的.h文件必须是Objective-C clean.这意味着您不能在其中使用任何C -isms,或者如果您这样做,则必须将它们全部包装在#ifdef __cplusplus中.当标题#included由一个普通的Objective-C文件包含时,标题将被编译为ObjC模式,所以它必须消除那种情况的任何C主义(1).所以你的Objective-C头文件应该像这样包含C头:

#ifdef __cplusplus
# include MyCPPHeader.h
#endif

大佬总结

以上是大佬教程为你收集整理的在iPhone/iPad项目中#import C头文件时出现问题全部内容,希望文章能够帮你解决在iPhone/iPad项目中#import C头文件时出现问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。