我以不同的方式创建了这个文件(比如“New file”=> C),错误总是一样的.
当我编译项目时没有任何#import(.h C类),没关系.
但是只要我在我的一个标题objective-c文件中#import头文件,我就会得到如下错误:
解决方法error: vector: No such file or directory
要么
error: expected ‘=’,‘,’,‘;’,‘asm’ or ‘attribute‘ before ‘:’ token”
我尝试在文件信息中为文件类型(C类)设置不同的值,在.mm等中重命名我的objc类,但它似乎不起作用.
所以我一定错过了在objc头文件中导入.h c类的内容,但是:p ^^
解决方案感谢Vlad
1°)要包含标题c文件:#ifdef __cplusplus #include "Triangulate.h"#endif2°)重命名.mm中的objc文件和他的文件信息(右侧clic)设置文件类型为sourcecode.cpp.objcpp
谢谢你的帮助!
文森特
Note: Xcode requires that file names
have a “.mm” extension for the
Objective-C++ extensions to be enabled
by the compiler.
尝试在驻留在扩展名为.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头文件时出现问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)